python按值赋值是我的模糊理解。有没有办法让python变量通过引用分配?那么,在下面的例子中,它实际上将o.a更改为2?如何在python中引用变量?
class myClass():
def __init__(self):
self.a = 1
def __str__(self):
_s = ''
for att in vars(self):
_s += '%s, %s' %(att, getattr(self,att))
return _s
o = myClass()
x = o.a
x = 2
print o
所以,我认为现在有办法让x对o.a的引用而不是o.a的值呢? – chrise 2014-09-03 10:07:26
只要o.a发生变化,就没有办法让x发生变化,除非让它们都指向同一个可变对象(例如,一个列表),然后修改该对象(例如,更改该列表的内容)。 – 2014-09-03 11:52:57