Cosa c'è di sbagliato con questo codice?Tipi interni Python sottoclassi
class MyList(list):
def __init__(self, li): self = li
Quando creo un'istanza di MyList
con, per esempio, MyList([1, 2, 3])
, e poi a stampare questo caso, tutto quello che ottiene è una lista vuota []
. Se MyDict
è una sottoclasse list
, non è MyDict
a list
stesso?
NB: entrambi in Python 2.xe 3.x.
Sarebbe 'list .__ init __ (self)' funziona anche quando si eredita da 'list'? – Wolf
@ Wolf: sì, ma ciò preclude l'ereditarietà multipla, ad es. usando questa classe come base insieme ad un'altra classe. 'list' potrebbe non essere la prossima classe nell'MRO in questi casi. –
Grazie per averci segnalato! La risposta breve che ho già trovato qui: [* Sottoclassi tipi incorporati *] (http://www.cafepy.com/article/python_attributes_and_methods/ch03s02.html). * MRO * Spero di aver risolto correttamente l'ordine di risoluzione dei metodi *. – Wolf