求教,指点一下
def new_fn(f): def fn(x): print 'call '+f.__name__ + '()' return f(x) return fn def f1(x): return x*2 f1=new_fn(f1) print f1(5) g1=new_fn(f1) print g1(5)
代码中的
f1=new_fn(f1)
print f1(5)
g1=new_fn(f1)
print g1(5)
在解得过程中有什么不同?
call f1()
10
call fn()
call f1()
10
多出来的call fn()是怎么来的?