Python变量引用赋值在代码中y = 7x = y
x = 8现在,y将是7,x将是8.但实际上我想改变y。我可以指定y的参考并执行此操作吗?例如,在C ++中可以实现同样的目的,int y = 8;int &x = y;x = 9;现在y&x都是9
7 回答

月关宝盒
TA贡献1772条经验 获得超5个赞
不,Python没有这个功能。
如果你有一个列表(或任何其他可变对象),你可以通过改变x和y绑定的对象来做你想要的事情:
>>> x = [7]
>>> y = x
>>> y[0] = 8
>>> print x
[8]

慕田峪7331174
TA贡献1828条经验 获得超13个赞
你应该使用一个可变对象。
在python中x,y它只是对象的引用,因此y = 7意味着y指向对象7。 x=y意味着x也指向7,但是因为它7是不可变的,所以改变x的值只是改变了对象7并y仍然指向7。
>>> y = [7]
>>> x = y
>>> x[0] = 8 # here you're changing [7] not x or y, x & y are just references to [7]
>>> y
[8]

梦里花落0921
TA贡献1772条经验 获得超6个赞
或者,您可以使用自制容器。
class Value(object): def __init__(self, value): self.value = value y = Value(7)x = y x.value = 8print y.value
添加回答
举报
0/150
提交
取消