Ho il seguente codice Python 2.7:Python eccellente eredità __init__
class Frame:
def __init__(self, image):
self.image = image
class Eye(Frame):
def __init__(self, image):
super(Eye, self).__init__()
self.some_other_defined_stuff()
sto cercando di estendere il metodo __init__()
in modo che quando ho un'istanza di un 'occhio' si fa un sacco di altre cose (auto. some_other_defined_stuff()), oltre a ciò che Frame imposta. Frame.__init__()
deve essere eseguito per primo.
io ottenere il seguente errore:
super(Eye, self).__init__()
TypeError: must be type, not classobj
Il che non capisco il motivo logico. Qualcuno può spiegare per favore? Sono abituato a digitare semplicemente "super" in ruby.
'Frame' deve estendere' oggetto'. 'super' funzionerà solo su classi di nuovo stile. – That1Guy