Heim >Backend-Entwicklung >Python-Tutorial >Wie kann Python von mehreren Klassen erben? Verstehen Sie die Vererbung von Python-Klassen in einem Artikel
Einer der Hauptvorteile der objektorientierten Programmierung ist die Wiederverwendung von Code. Eine Möglichkeit, diese Wiederverwendung zu erreichen, ist die Vererbung der Python-Klasse und die Ableitung von Python auf dieser Basis Erben Sie Methoden von mehreren Klassen .
Die neue Klasse, die durch Vererbung der Python-Klasse erstellt wurde, heißt Unterklasse oder abgeleitete Klasse, und die geerbte Klasse heißt Basis Klasse, Elternklasse oder Superklasse.
Vererbungssyntax:
class 派生类名(基类名) ...
Instanz
#!/usr/bin/python # -*- coding: UTF-8 -*- class Parent: # 定义父类 parentAttr = 100 def __init__(self): print "调用父类构造函数" def parentMethod(self): print '调用父类方法' def setAttr(self, attr): Parent.parentAttr = attr def getAttr(self): print "父类属性 :", Parent.parentAttr class Child(Parent): # 定义子类 def __init__(self): print "调用子类构造方法" def childMethod(self): print '调用子类方法' c = Child() # 实例化子类 c.childMethod() # 调用子类的方法 c.parentMethod() # 调用父类方法 c.setAttr(200) # 再次调用父类的方法 - 设置属性值 c.getAttr() # 再次调用父类的方法 - 获取属性值
Die obigen Ergebnisse der Codeausführung lauten wie folgt:
调用子类构造方法 调用子类方法 调用父类方法 父类属性 : 200
Vererbung von Klassen Erweiterung: Python erbt mehrere Klassen
class A: # 定义类 A ..... class B: # 定义类 B ..... class C(A, B): # 继承类 A 和 B .....
Sie können zur Erkennung die Methode issubclass() oder isinstance() verwenden.
issubclass() – Boolesche Funktion, um zu bestimmen, ob eine Klasse eine Unterklasse oder ein Nachkomme einer anderen Klasse ist, Syntax: issubclass(sub,sup)
isinstance(obj, Class) Boolesche Funktion, wenn obj Gibt true zurück, wenn es sich um ein Instanzobjekt der Class-Klasse oder ein Instanzobjekt einer Class-Unterklasse handelt.
Das obige ist der detaillierte Inhalt vonWie kann Python von mehreren Klassen erben? Verstehen Sie die Vererbung von Python-Klassen in einem Artikel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!