すべての例で、a
は次のとおりです。
>>> def a():
... print "aaaaaaa"
別のコードから関数オブジェクトが渡されたので、その関数を実行する必要があります。
「関数オブジェクト」と言うときは、次のようなオブジェクトを意味します。
>>> type(a)
<type 'function'>
これを見てください:
>>> def function(f):
... print "start"
... f
... print "end"
>>> function(a)
start
end
渡された関数を実行していた場合function()
、出力aaaaaaa
の途中に が含まれます (a()
渡された関数である から返されます)。
では、関数オブジェクトが渡されたときに関数を実行するにはどうすればよいでしょうか?
(これがあまり明確でない場合は申し訳ありません、私も混乱しています...)