因为我是python的初学者,所以我在理解全局变量的基础时遇到了麻烦。我想尝试更改一个全局变量,但不幸的是它没有用。谁能解释并帮助我解决我的问题。谢谢!
global x
x = 10
def NEWX():
print (x)
x = x + 5
print (x)
print (x)
NEWX()
print(x)
#this displays 10 10 15 10
答案 0 :(得分:0)
尝试此重构:
x = 10
def new_x():
global x
print(x)
x = x + 5
print (x)
print(x)
new_x()
print(x)
# prints 10 10 15 15
我无法运行您的原始代码,它抱怨x
在函数中未定义。在函数范围内,x
是未知的。它在更高的范围内是已知的,但在您的功能中却不是。这就是global x
语句需要在函数中的原因-让python知道在外部作用域使用x
。
答案 1 :(得分:0)
x = 10
def NEWX():
global x
print (x)
x = x + 5
print (x)
print (x)
NEWX()
print(x)
全局变量规则:
答案 2 :(得分:0)