0
파이썬의 목록 개체에있는 모든 설정 메서드가 파생 개체에서 재정의되어 해당 목록의 모든 항목이 특정 클래스에 속할 수 있습니까?단일 클래스 파이썬 목록
는
class Index(int):
pass
class IndexList(list):
def __init__(self, int_list):
for el in int_list:
self.append(Index(el))
def __setitem__(self, key, val):
super(IndexList, self).__setitem__(key, Index(val))
# override append insert etc...
이 직접 목록에 요소를 추가마다 하나의 함수를 오버라이드 (override)없이 할 수 생각해? 나는 단지
__setitem__
을 무시하는 것만으로 충분하다고 생각했다.
예 : append
이 무시되지 않는 경우
ilist = IndexList([1,2])
ilist.append(3)
for i in ilist:
print(isinstance(i, Index)) # True, True, False
... 가르치 려주세요) –
난 아직도 내 의도는 잘 사용 여부를 논의하고있다. 내가 계획을 세울수록 더 생각하지 않습니다. – cheezsteak