我有一个动态的 Python 服务,它将在每条记录的基础上定义函数,但我遇到了一些我无法弄清楚的事情。假设我已经设置了一个测试程序,如下所示:
func_str = """
def func():
print "top"
"""
exec func_str
func_str = """
def func():
print "bottom"
"""
exec func_str
func()
这当然会 print "bottom"
,因为第二次调用会exec func_str
覆盖第一次调用。我很好奇引擎盖下会发生什么。是否以某种方式删除了第一个函数定义?