Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
为什么调用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 关键字。
方法中的变量tst是local,也就是说,它们引用了只存在于该方法范围内的不同值。使用内部的关键字global(如global A,B,C,D)tst来修复行为。请参阅此处的示例和此处的问题。
tst
global
global A,B,C,D