Heim > Artikel > Backend-Entwicklung > Der Unterschied zwischen Python-Klassen im neuen Stil und Klassen im alten Stil
Pythons Klassen im neuen Stil wurden in Version 2.2 eingeführt. Wir können die vorherigen Klassen als klassische Klassen oder Klassen im alten Stil bezeichnen.
Warum wird in 2.2 eine neue Stilklasse eingeführt? Die offizielle Erklärung lautet:
Um Klassen und Typen zu vereinheitlichen.
Vor 2.2, zum Beispiel in Version 2.1, waren Klassen und Typen unterschiedlich. Wenn a eine Instanz von ClassA ist, dann gibt a.__class__ „class __main__.ClassA“ zurück und type(a) gibt immer . Nach der Einführung einer neuen Klasse ist beispielsweise ClassB eine neue Klasse, b ist eine Instanz von ClassB, b.__class__ und type(b) geben beide „Klasse ‚__main__.ClassB‘“ zurück, sodass sie vereinheitlicht ist.
class oldClass: #经典类 def __init__( self ): pass class newClass(object): #新类 def __init__( self ): pass c1 = oldClass() c2 = newClass() c1.__class__ # 输出-> <class __main__.oldClass at 0x0137BF10> type(c1) # 输出-> <type 'instance'> c2.__class__ # 输出-><class '__main__.newClass'> type(c2) # 输出-><class '__main__.newClass'>