fn(x)中的參數x從哪里來呢?
如題,return fn,這時g1指向了fn,有沒進行了fn(x)的調用?如果進行了調用,貌似并沒有傳到參數給x呀。
>>> def f1(x):
...? ? ?return x*2
...
>>> def new_fn(f):
...? ? ?def fn(x):
...? ? ? ? ?print 'call'+f._name_+'()'
...? ? ? ? ?return f(x)
...? ? ?return fn
...
>>> g1=new_fn(f1)
>>> print g1(5)
Traceback (most recent call last):
? File "<stdin>", line 1, in <module>
? File "<stdin>", line 3, in fn
AttributeError: 'function' object has no attribute '_name_'
2019-02-07
g1(5)中的5傳到了fn(x)中的x,g1指向了fn,fn是要傳入一個參數的,相當于g1要傳入一個參數,最后一句print g1(5)相當于有執行fn(5),fn函數中又有f(x),相當于執行f(5),相當于執行f1(5),望采納