我是这方面的初学者,我很难找到与我的问题相同的案例。我的代码是这样的:def zerofunc(value): global g value = 0g = 15zerofunc(g)print(g)我在函数内部将 g 设置为 global 以生成 0 作为最终结果,但它仍然打印出 15 而不是 0。谁能解释为什么 global 语句在这种情况下不起作用,以及我应该如何避免相同的情况错误?
1 回答
小唯快跑啊
TA贡献1863条经验 获得超2个赞
您的函数将名为 的变量设置value为零,而 g 保持不变。如果你想改变,,g这段代码会做到:
def zerofunc(value):
global g
g = 0
g = 15
zerofunc(g)
print(g)
话虽这么说,似乎没有充分的理由使g全球化成为可能。通常不鼓励使用全局变量。
添加回答
举报
0/150
提交
取消