0

在所有示例中,a是:

>>> def a():
...     print "aaaaaaa"

我从另一段代码中获得了一个函数对象,我需要执行该函数。

当我说“函数对象”时,我指的是这样的对象:

>>> type(a)
<type 'function'>

看看这个:

>>> def function(f):
...     print "start"
...     f
...     print "end"

>>> function(a)
start
end

如果正在执行它传递的函数,则输出中间function()会有一个(从 中返回,这是传递给它的函数)aaaaaaaa()

那么在传递函数对象时如何执行函数呢?

(对不起,如果这不是很清楚,我也很困惑......)

4

1 回答 1

9

只需使用函数调用运算符 ()调用它:

f()

这就是你a在定义它之后的调用方式。全局名称a与本地名称指向同一个函数对象f,所以你需要做同样的事情来调用它们。

于 2012-06-21T16:25:15.763 回答