我编写了一个简单的函数来理解Python中的本地和全局范围。
x = 50
def func(x):
print('x is', x)
x = 2
print('Changed local x to', x)
func(x)
print('x is still', x)
我想要理解的是在x = 2赋值期间的函数内部是否创建了任何新变量作为全局变量x仍然保持值50。这个过程在Python中是如何发生的?
答案 0 :(得分:0)
是的,创建了一个新变量。 Python的范围规则意味着不同范围内的同名变量是不相关的 - 变量引用始终是包含具有该名称的变量的最内部范围,除非使用全局语句覆盖它。