全局语句不起作用,我不明白为什么
global statement isn't working, and I don't understand why
我是这方面的初学者,我很难找到与我的问题相同的案例。
我的代码是这样的:
def zerofunc(value):
global g
value = 0
g = 15
zerofunc(g)
print(g)
我在函数内部将 g 设置为全局以生成 0 作为最终结果,但是
它仍然打印出 15 而不是 0。谁能解释为什么全局语句在这种情况下不起作用,以及我应该怎么做才能避免同样的错误?
您的函数将名为 value
的变量设置为零,而 g 保持不变。如果你想改变,g
,这段代码可以做到:
def zerofunc(value):
global g
g = 0
g = 15
zerofunc(g)
print(g)
话虽这么说,似乎没有充分的理由使 g
全球化;通常不鼓励使用全局变量。
我是这方面的初学者,我很难找到与我的问题相同的案例。 我的代码是这样的:
def zerofunc(value):
global g
value = 0
g = 15
zerofunc(g)
print(g)
我在函数内部将 g 设置为全局以生成 0 作为最终结果,但是 它仍然打印出 15 而不是 0。谁能解释为什么全局语句在这种情况下不起作用,以及我应该怎么做才能避免同样的错误?
您的函数将名为 value
的变量设置为零,而 g 保持不变。如果你想改变,g
,这段代码可以做到:
def zerofunc(value):
global g
g = 0
g = 15
zerofunc(g)
print(g)
话虽这么说,似乎没有充分的理由使 g
全球化;通常不鼓励使用全局变量。