Même si vous l'utilisez depuis plus de 5 ans, c'est une boule de bonbon pour les débutants en Python
Donc, il y a une telle description dans un certain livre
class SomeClass(object):
..
Je me suis demandé ce qu'est cet "objet", alors prenez note.
Python class inherits object(Stack Overflow)
Dans la série Python2, il existe deux types de classes, et si vous n'êtes pas plus récent, vous obtiendrez beaucoup d'informations sur les types. Python3 n'est que nouveau, il semble donc être l'une des dernières connaissances.
Eh bien, je vais l'essayer. Il y a aussi de l'amour qui peut être vu des résultats
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
En Python2, les objets de l'ancienne classe ne ressemblent pas au type attendu. Il semble y avoir un point sur lequel le résultat de type (obj) est `` <type'instance '>' '. C'est la relation, je ne vois pas correctement la classe parent avec super ().
Ensuite, lisez l'ancienne documentation.
(2 PEPs 252 and 253: Type and Class Changes)[http://docs.python.org/release/2.2.3/whatsnew/sect-rellinks.html]
À propos, le livre au début est un livre qui se concentre sur Python3, donc je ne sais pas pourquoi j'ai explicitement spécifié des objets qui ne sont pas nécessaires dans Python3.
Recommended Posts