装饰器函数new_fn()的问题
def f1(x):
return x*2
def new_fn(f):
print('call'+f._name_+'()')
return f
f1=new_fn(f1)
print(f1(5))
new_fn()里一定要嵌套一个fn()么?上面的代码实现的结果跟视频里有什么区别?
def f1(x):
return x*2
def new_fn(f):
print('call'+f._name_+'()')
return f
f1=new_fn(f1)
print(f1(5))
new_fn()里一定要嵌套一个fn()么?上面的代码实现的结果跟视频里有什么区别?
2018-07-15
def f1(x): return x*2 def new_fn(f): def wrapper(x): print 'call '+f.__name__+'()' return f(x) return wrapper f1=new_fn(f1) print f1(5)
对于你第一个问题: new_fn()里一定要嵌套一个fn()么?我觉得你表达得有点问题,new_fn是函数的名称,这个名称可以随便取的,哪来的fn(),如果你fn是指f1的话,装饰器函数里肯定是要运行原函数的(就是这里的f1);你第二个问题:你代码有不少问题呢,,,装饰器函数是调用原函数,然后返回一个新函数,你代码里没有返回新函数呢,我把你的代码整理了一下,你再看看
举报