我是這方面的初學(xué)者,我很難找到與我的問題相同的案例。我的代碼是這樣的:def zerofunc(value): global g value = 0g = 15zerofunc(g)print(g)我在函數(shù)內(nèi)部將 g 設(shè)置為 global 以生成 0 作為最終結(jié)果,但它仍然打印出 15 而不是 0。誰能解釋為什么 global 語句在這種情況下不起作用,以及我應(yīng)該如何避免相同的情況錯(cuò)誤?
1 回答

小唯快跑啊
TA貢獻(xiàn)1863條經(jīng)驗(yàn) 獲得超2個(gè)贊
您的函數(shù)將名為 的變量設(shè)置value為零,而 g 保持不變。如果你想改變,,g這段代碼會(huì)做到:
def zerofunc(value):
global g
g = 0
g = 15
zerofunc(g)
print(g)
話雖這么說,似乎沒有充分的理由使g全球化成為可能。通常不鼓勵(lì)使用全局變量。
添加回答
舉報(bào)
0/150
提交
取消