我有这样的代码如何在没有返回空列表的情况下继承Python列表?
class lines_type(list):
def __init__(self, lines):
self.lines = lines[:]
lines = lines_type([1, 2, 3])
print(lines)
print(lines.lines)
而且我的输出是
[]
[1, 2, 3]
但是我预期的输出是这样的
<__main__.lines_type object at 0x00EC6410>
[1, 2, 3]
我认为类列表__init__
方法返回一个空名单。那么如何从列表中扩展我的班级,但却没有收到一个空列表?
你混淆了继承和组合。如果你的类继承自'list','self' *就是一个列表。您不需要将另一个列表作为属性粘贴到它上面。 – user2357112
@ user2357112,谢谢你的回复。但是我可以将另一个列表粘贴到一个属性上,而我自己不是一个列表吗? –
如果你不想'self'是一个列表,不要从'list'继承。 – user2357112