.func_code
のような内部オブジェクトを使用してコードオブジェクトを保持すると、というコードが呼び出されます。このコードは何ですか?単純に、それは動作しません呼び出す:Pythonでコードオブジェクトを呼び出す方法
def f():
def g():
return 3
f.x = g
return g() + 1
f.func_code.co_consts[1]
結果:ユニットテストネストされた関数のようなとき
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'code' object is not callable
で
def f(): pass
f.func_code()
結果は、これは便利になることができます
<code object g at 0x7f123991b930, file "<stdin>", line 2>
もちろん、このpiコードのeceにはまだ文脈などが必要ですが、それは私の質問ではありません。
「評価する」または「実行する」ことができます。 – vaultah
新しい関数を作成し、その関数に 'func_code'を割り当てることができます。そのようなことをしている[この回答](http://stackoverflow.com/a/3454053/355230)の 'add_self()'関数を見てください。 – martineau
@vaultahそれはまさに私にとっての解決策です!あなたはそれをAに入れて気になりますので、私はそれを受け入れることができます、ちょうどこのQを正しく閉じるために? – Alfe