为什么调用tst时下面的变量(A,B,C,D)没有变化。

A,B,C = 0,0,0
D = 0

def tst():
    A,B,C = 1,2,3
    D = 4
    print(A,B,C,D)

tst() # tst is called
print(A,B,C,D)

Output:

(1, 2, 3, 4)
(0, 0, 0, 0)

最佳答案

因为Python的作用域规则。

在def tst()中,您将创建局部变量A,B和C,并为其分配新值。

如果要分配给全局A,B和C值,请使用global关键字。

关于python - Python:不会重新分配变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10713579/

10-12 21:06