我想给list
子类添加一些函数,例如my_func
。你知道吗
在创建MyList
对象时,有没有一种不复制整个列表的方法,即做一个浅拷贝,并让MyList
引用与用来构造它的列表相同的列表?你知道吗
class MyList(list):
def my_func(self):
# do some stuff
return self
l1 = list(range(10))
l2 = MyList(l1)
print(l1)
print(l2)
l1[3] = -5
print(l1)
print(l2)
Tags:
很确定这在} 子类(在Python } ),它是可能的:
list
子类中是不可能的。对于^{2
中仅为^{事实上,} 属性,该属性包含实际的list实例,这使得我们可以很容易地用iterable
UserList
公开了一个^{it
替换它,基本上只需将提供的参数放在那里并保留引用:通过初始化:
然后变异:
当然,引用
data
的l1
属性发生了变异:相关问题 更多 >
编程相关推荐