我不明白为什么更改x时变量'y'不会更新? (“ y”变量取决于“ x”吗?
x = 5
y = x*2
print(x)
print(y)
x = 3
# Expect it to print '3' and '6' instead it print '3' and '10'
print(x)
print(y)
('y'变量取决于'x'对吗?
没有很少有编程语言具有依赖/计算的variables,而Python是其中的not之一。当执行y = x*2
时,将对LHS进行全面评估,然后将其设置为y
的值。此后此值将不会隐式更改。
您的y指向旧版本的x变量。要更新y,您可以执行以下操作:
x = 5
y = x * 2
print(x)
print(y)
x = 3
y = x * 2
print(x)
print(y)
将输出:
5
10
3
6