私は実際に新しいローカルを作成したいと考えています。疑わしいと思われるかもしれませんが、これには良い使用例があると思います。基本的に私の問題は、卵を印刷しようとすると、このコードが「NameError: global name 'eggs' is not defined」をスローすることです。
def f():
import inspect
frame_who_called = inspect.stack()[1][0]
frame_who_called.f_locals['eggs'] = 123
def g():
f()
print(eggs)
g()
この古いものを見つけました: http://mail.python.org/pipermail/python-dev/2005-January/051018.html
つまり、ctypes を使用してシークレット関数を呼び出すことができる可能性がありますが、値の更新についてのみ話しました。しかし、もっと簡単な方法があるのではないでしょうか?