이 코드를 가지고반환되는 빈 목록없이 파이썬 목록을 서브 클래 싱하는 방법은 무엇입니까?
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]
하지만 내 예상 출력은 내가 클래스 목록의 __init__
방법은 빈을 반환한다는 생각이
<__main__.lines_type object at 0x00EC6410>
[1, 2, 3]
같은 것입니다 명부. 그렇다면 목록에서 수업을 연장하고 빈 목록을받지 않으려면 어떻게해야합니까?
class lines_type(list):
def __init__(self, lines):
super().__init__(self)
self.lines = lines[:]
을 그러나 "자기"목록이 될하지 않으려면 : 그래서 이렇게 -
당신은 상속 및 구성을 혼합하고 출력을, 귀하의 예제에서
lines
및lines.lines
를해야 인쇄 할 때. 클래스가'list'로부터 상속받은 경우,'self' *는리스트입니다. 속성으로 다른 목록을 붙일 필요가 없습니다. – user2357112@ user2357112 답장을 보내 주셔서 감사합니다. 하지만 다른 목록을 속성에 붙이면 자기가 목록이 아닐 수 있습니까? –
'self'가리스트가되기를 원하지 않는다면'list'를 상속하지 마십시오. – user2357112