Selbst wenn Sie es länger als 5 Jahre verwenden, ist es ein Süßigkeitenball für Python-Anfänger
Es gibt also eine solche Beschreibung in einem bestimmten Buch
class SomeClass(object):
..
Ich habe mich gefragt, was dieses "Objekt" ist, also machen Sie sich eine Notiz.
Python class inherits object(Stack Overflow)
In der Python2-Serie gibt es zwei Arten von Klassen. Wenn Sie nicht neuer sind, erhalten Sie viele Informationen zu Typen. Python3 ist nur neu, daher scheint es eines der aussterbenden Wissen zu sein.
Nun, ich werde es versuchen. Es gibt auch Liebe, die aus den Ergebnissen hervorgeht
class_exp.py
class OldClass:
def a(self):
print("I'm OldClass")
class OldChild(OldClass):
def a(self):
super(OldChild, self).a()
class NewClass(object):
def a(self):
print("I'm NewClass")
class NewChild(NewClass):
def a(self):
super(NewChild, self).a()
x = OldChild()
y = NewChild()
print(type(x))
print(type(y))
print('--')
try:
# Will fail with Python 2.x
x.a()
except TypeError as e:
import traceback
traceback.print_exc()
print('--')
y.a()
> python2.7 misc/class_exp.py
<type 'instance'>
<class '__main__.NewChild'>
--
Traceback (most recent call last):
File "misc/class_exp.py", line 27, in <module>
x.a()
File "misc/class_exp.py", line 10, in a
super(OldChild, self).a()
TypeError: must be type, not classobj
--
I'm NewClass
> python3.2 misc/class_exp.py
<class '__main__.OldChild'>
<class '__main__.NewChild'>
--
I'm OldClass
--
I'm NewClass
In Python2 sehen die Objekte der älteren Klasse nicht wie erwartet aus. Es scheint einen Punkt in dem Punkt zu geben, an dem das Ergebnis von type (obj) "<type'instance"> "ist. Das ist die Beziehung, ich kann die Elternklasse mit super () nicht richtig sehen.
Dann lesen Sie die alte Dokumentation.
(2 PEPs 252 and 253: Type and Class Changes)[http://docs.python.org/release/2.2.3/whatsnew/sect-rellinks.html]
Das Buch am Anfang ist übrigens ein Buch, das sich auf Python3 konzentriert, daher bin ich mir nicht sicher, warum ich explizit Objekte angegeben habe, die in Python3 nicht benötigt werden.
Recommended Posts