在IDLE中运行locals()
和globals()
会返回相同的键/值
我只使用。keys()
提取密钥,并使用list()
['__doc__', '__spec__', '__builtins__', '__loader__', '__name__', '__package__']
运行以下代码
z = 100
def f(x):
y = 100
return y
f(z)
再次检查本地和全局变量,都具有相同的键/值
['z', '__doc__', '__spec__', '__builtins__', '__loader__', '__name__', '__package__', 'f']
为什么会发生这种情况以及为什么变量y
和x
没有显示
答案 0 :(得分:1)
在函数返回后,函数内定义的变量不再存在。
这使您可以使用具有相同内部变量名称的多个函数而不会产生干扰。
如果您在功能调用后致电locals()
,则x
和y
将不会出现。