如果我有:
class myclass():
def __init__(self, x, list):
self.x = x
self.list = list
def __setattr__(self, name, value):
self.__dict__[name] = value
#some stuff
你做了
instance = myclass(3, ['a', 'b'])
instance.x = 5
instance.list[1] = 'c'
将为第一个调用__setattr __方法而不是第二个方法,因为只设置属性的索引而不是属性
有没有办法控制当属性列表的索引被更改时发生的事情,或者以这种方式将列表作为属性是不好的做法?
答案 0 :(得分:0)
以下是一个可以满足您需要的示例:
{{1}}