(1) 试写一个修饰器函数our_decorator(func),被修饰的函数有两个参数。
要求被修饰的函数依次打印各个位置参数的值和函数func的返回值,请都打印在一行里面。
(2)使用our_decorator修饰
def f(n,i):
if n==i or i==0:
return 1
return f(n-1, i) + f(n-1, i-1)
并调用修饰后的函数:f(8, 3)
(1) 试写一个修饰器函数our_decorator(func),被修饰的函数有两个参数。
要求被修饰的函数依次打印各个位置参数的值和函数func的返回值,请都打印在一行里面。
(2)使用our_decorator修饰
def f(n,i):
if n==i or i==0:
return 1
return f(n-1, i) + f(n-1, i-1)
并调用修饰后的函数:f(8, 3)
def our_decorator(func):
def call(*args, **kwargs):
res = func(*args)
print(*args, res)
return res
return call
@our_decorator
def f(n, i):
if n == i or i == 0:
return 1
return f(n - 1, i) + f(n - 1, i - 1)
f(8, 3)