我有一个列表,我在其中创建了对象,然后将它们放在列表中,但当我更新对象本身时,它不会更新列表中的对象
设置代码:
class char:
def __init__(self, name, age=0):
self.name = name
self.age = age
def update(self, age='nil'):
if age == 'nil': age = self.age
return char(self.name, age)
Mile = char("mile", age=12)
Pauline = char("pauline", age=14)
chars = [Mile, Pauline]
如何更新字符:
Mile = Mile.update(age = 16)
但是如果我得到chars[0].age
,它仍然返回12,除非我得到chars[0] = Mile
我的问题是:当我更新对象本身时,有没有办法自动更新列表中的对象?我一直在四处寻找,但还没有找到答案。我应该注意,这是在renpy中实现的(尽管它是renpy中的常规python代码,所以不应该有效果),并且当我使用变量检查器时,无论我在列表中放置了多少对象,它都只在列表中显示一个指针
你真的想从
update()
方法返回一个新的char
吗?这样做意味着您希望char
成为一个值对象也许您只是想更新对象:
输出:
相关问题 更多 >
编程相关推荐