レコードごとに関数を定義する動的なPythonサービスがあり、よくわからないことがありました。次のようにテストプログラムを設定したとします。
func_str = """
def func():
print "top"
"""
exec func_str
func_str = """
def func():
print "bottom"
"""
exec func_str
func()
もちろん、これは、最初の"bottom"
呼び出しをexec func_str
上書きする2番目の呼び出しとして出力されます。ボンネットの下で何が起こるのか興味があります。最初の関数定義は何らかの方法で削除されていますか?