Co jest nie tak z tym kodem?Python wbudowane typy podklasy
class MyList(list):
def __init__(self, li): self = li
Kiedy tworzę instancję MyList
z, na przykład, MyList([1, 2, 3])
, a następnie wydrukować ten przykład, wszystkie uzyskać jest pusta lista []
. Jeśli MyDict
jest podklasy list
, to nie jest MyDict
sam MyDict
sam ?
NB: oba w Pythonie 2.x i 3.x.
Czy 'list .__ init __ (self)' również działa, gdy dziedziczy z 'list'? – Wolf
@Wolf: tak, ale to wyklucza wielokrotne dziedziczenie, np. używanie tej klasy jako bazy razem z inną klasą. 'list' może nie być następną klasą w MRO w takich przypadkach. –
Dzięki za wskazanie tego! Krótka odpowiedź, którą już tu znalazłem: [* Subclassing Built-in Types *] (http://www.cafepy.com/article/python_attributes_and_methods/ch03s02.html). * MRO * Mam nadzieję, że poprawnie podjąłem decyzję * Order Resolution Order *. – Wolf