为什么变量更改其因变量后不更新?

问题描述 投票:1回答:1

我不明白为什么更改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)
python variables debugging
1个回答
1
投票

('y'变量取决于'x'对吗?

没有很少有编程语言具有依赖/计算的variables,而Python是其中的not之一。当执行y = x*2时,将对LHS进行全面评估,然后将其设置为y的值。此后此值将不会隐式更改。


0
投票

您的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
© www.soinside.com 2019 - 2024. All rights reserved.