我有这段代码
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__
方法返回一个空列表。那么如何从列表中扩展我的类但没有收到空列表呢?
答案 0 :(得分:0)
我认为这里的一个问题是你没有__init__
子类'__init__
中的列表 - 所以这样做:
class lines_type(list):
def __init__(self, lines):
super().__init__(self)
self.lines = lines[:]
但是,如果您不希望“self”成为列表,则不要从列表中继承。
class lines_type(object):
def __init__(self, lines):
self.lines = lines[:]
,在您的示例中打印lines
和lines.lines
时,应输出
<__main__.lines_type object at 0x...>
[1, 2, 3]