如果我将对象附加到列表然后更改对象,列表中的对象是否也会更改? 例如:
我有一个 logout_users: function() {
var self = this;
$(document).on('click', '.test', function(e) {
e.preventDefault();
self.doAlert();
});
类,其构造函数为Car
license
int
将car1 = Car(13535)
car 2 = Car(1637)
new_lst = []
new_lst.append(car1)
new_lst.append(car2)
car1.license = 11111
打印旧许可证还是新许可证?
答案 0 :(得分:1)
>>> class car:
... def __init__(self):
... self.lic = None
...
>>> car1 = car()
>>> car1.lic = 123
>>> car1.lic
123
>>> x = [car1]
>>> car1.lic = 12345
>>> x[0].lic
12345
>>> id(car1)
4332657192
>>> id(x[0])
4332657192
是的,列表中对象的原因是作为参考附加,因此id
将是相同的。因此,当您更新原始变量时,列表中元素的值也将更新。
答案 1 :(得分:0)
将对象添加到列表会创建对列表中对象的引用,而不是列表中对象的副本。因此,说列表中的对象“也会发生变化”并不完全正确,因为只有一个对象。
new_lst[0].license
是11111。