从函数对象执行函数

ACa*_*ter 0 python function

在所有示例中,a是:

>>> def a():
...     print "aaaaaaa"
Run Code Online (Sandbox Code Playgroud)

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

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

>>> type(a)
<type 'function'>
Run Code Online (Sandbox Code Playgroud)

看看这个:

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

>>> function(a)
start
end
Run Code Online (Sandbox Code Playgroud)

如果function()正在执行它传递的函数,则输出将aaaaaaa在其中间(从中返回a(),这是传递给它的函数)

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

(对不起,如果不是很清楚,我也会混淆自己......)

Sve*_*ach 9

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

f()
Run Code Online (Sandbox Code Playgroud)

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