Dans l'ancienne version de python, lorsque vous créez une classe en python, elle peut hériter d'un objet, ce qui est, dans la mesure où je comprends, un élément python intégré spécial qui permet à votre objet d'être un objet de nouveau style.
Qu'en est-il de la version plus récente (> 3.0 et 2.6)? J'ai cherché sur Google l'objet de classe mais j'obtiens tellement de résultats (pour des raisons évidentes). Un indice?
Remercier!
python
python-3.x
Thomas
la source
la source
Réponses:
Vous n'avez pas besoin d'hériter de
object
pour avoir un nouveau style en python 3. Toutes les classes sont de style nouveau.la source
object
peu importe si vous tapez un explicite(object)
ou non dans Python 3.1Je me rends compte que c'est une vieille question, mais il convient de noter que même en python 3, ces deux choses ne sont pas tout à fait la même chose.
Si vous héritez explicitement de
object
, ce que vous faites réellement héritebuiltins.object
de ce que cela indique à ce moment-là.Par conséquent, je pourrais avoir un module (très farfelu) qui remplace l'objet pour une raison quelconque. Nous appellerons ce premier module "newobj.py":
Puis dans un autre fichier ("klasses.py"):
Puis dans un troisième fichier (que nous pouvons effectivement exécuter):
Ainsi, vous pouvez voir que, dans le cas où il hérite explicitement d'un objet, nous obtenons un comportement différent de celui où vous autorisez l'héritage implicite.
la source