从函数对象执行函数

时间:2012-06-21 16:24:01

标签: python function

在所有示例中,a都是:

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

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

当我说“功能对象”时,我的意思是这样一个对象:

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

看看这个:

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

>>> function(a)
start
end

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

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

(对不起,如果不是很清楚,我也会让自己感到困惑......)

1 个答案:

答案 0 :(得分:9)

只需使用function call operator ()

进行调用即可
f()

这就是定义它之后调用a的方法。全局名称a指向与本地名称f相同的函数对象,因此您需要执行相同的操作来调用它们。