0

すべての例で、aは次のとおりです。

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

別のコードから関数オブジェクトが渡されたので、その関数を実行する必要があります。

「関数オブジェクト」と言うときは、次のようなオブジェクトを意味します。

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

これを見てください:

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

>>> function(a)
start
end

渡された関数を実行していた場合function()、出力aaaaaaaの途中に が含まれます (a()渡された関数である から返されます)。

では、関数オブジェクトが渡されたときに関数を実行するにはどうすればよいでしょうか?

(これがあまり明確でない場合は申し訳ありません、私も混乱しています...)

4

1 に答える 1

9

関数呼び出し演算子 を使用して呼び出すだけ()です。

f()

これはa、定義後に呼び出す方法です。グローバル名aはローカル名と同じ関数オブジェクトを指しているfため、それらを呼び出すには同じことを行う必要があります。

于 2012-06-21T16:25:15.763 に答える