我知道函数可以在Python中作为参数传递,但是我不明白为什么我不能这样做:
>>> def foo(bar): return bar()
...
>>> foo(def a(): return 'hello')
File "<stdin>", line 1
foo(def a(): return 'hello')
^
SyntaxError: invalid syntax
当这完全正确时:
>>> def foo(bar): return bar()
...
>>> def a(): return 'hello'
...
>>> foo(a)
'hello'
def
是一个声明。如果要使用匿名函数,请使用lambda
表达式。
foo(lambda: 'hello')
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句