【发布时间】:2020-05-27 12:15:20
【问题描述】:
我不明白为什么当我更改 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' 对吗? 不,
y是基于x值创建的,但之后它们只是朋友。 -
像
int、float、string这样的不可变对象是按值而不是按引用保存的。所以,当你改变x时,不同的可变对象的值 -
在您的第一个声明中,您可以将其视为简单的
y = 5*2而不是y=x*2。在最初的声明之后,它们彼此无关。
标签: python variables debugging