Heim >Backend-Entwicklung >Python-Tutorial >Eine kurze Analyse der Python-Vererbungsprobleme
Dieser Artikel stellt hauptsächlich relevante Informationen zur eingehenden Analyse von Python-Vererbungsproblemen vor. Es ist sehr gut, einen Blick darauf zu werfen.
Es gibt den folgenden Code
class p1: def __init__(self,a,b): print("init in p1") self.a1=a self.b1=b self.f1() def f1(self): print("f1 in p1") class c1(p1): def __init__(self,a,b,c=2): print("init in c1") p1.__init__(self,a,b) self.c1=c self.f1() def f1(self): print("f1 in p2") class c2(c1): pass c=c2(11,22) print(c.a1) print(c.b1) print(c.c1)Dann lautet das laufende Ergebnis des Codes wie folgt:
F:\python_code\test>python class_init.py init in c1 init in p1 f1 in p2 f1 in p2 11 22 2Bezüglich des laufenden Codeprozesses habe ich Folgendes: Ich rufe p1.__init__() in der Funktion __init__ von c1 auf und führe dann jedes Mal die Funktion c1.f1() aus p1.f1(). Das f1(), das in p1 läuft, ist auch c1.f1(). Warum?
Ursachenanalyse:
p1.__init__(self,a,b)self in dieser Codezeile ist Das Objekt von c1. Das an p1 übergebene Selbst ist also auch c1. Der obige Inhalt stellt Ihnen das Python-Vererbungsproblem anhand des Codes vor. Ich hoffe, er wird Ihnen hilfreich sein! Weitere Artikel zu einer kurzen Analyse von Python-Vererbungsproblemen finden Sie auf der chinesischen PHP-Website!