Y a-t-il une raison pour une déclaration de classe hérite de `` ?
Je viens de trouver un code qui fait ça et je ne peux pas trouver une bonne raison pourquoi.
Y a-t-il une raison pour une déclaration de classe hérite de `` ?
Je viens de trouver un code qui fait ça et je ne peux pas trouver une bonne raison pourquoi.
Python 3.x:class MyClass(object):
= new-style classeclass MyClass:
= new-style de classe (implicitement hérite de l'objet)
Python 2.x:class MyClass(object):
= new-style classeclass MyClass:
= ANCIENNE CLASSE
Lors de la définition des classes de base en Python 3.x, vous êtes autorisé à déposer l'objet à partir de la définition. Cependant, cela peut ouvrir la porte à une très difficile à suivre, problème...
Python introduite nouveau style de classes de retour en Python 2.2, et, aujourd'hui, de style ancien classes sont vraiment très vieux. Discussion de la vieille-classes de style est enterré dans le 2.x docs, et inexistant dans le 3.x docs.
Le problème est, la syntaxe de style ancien classes en Python 2.x est la même que la syntaxe alternative pour les nouvelles classes de style en Python 3.x. Python 2.x est encore très largement utilisé (par exemple, GAE, Web2Py), et tout le code (ou codeur) inconsciemment apporter 3.x-style définitions de classe en 2.x code va finir avec un certain sérieux désuet des objets de base. Et parce que style ancien classes ne sont pas sur le radar, il est probable qu'ils ne savent pas ce qui leur arrive.
Donc suffit de préciser le chemin le plus long et économisez de l'2.x developer les larmes.
Oui, c'est un "nouveau style" de l'objet. C'était une fonctionnalité introduite dans python2.2.
Nouveau style objets ont un objet différent du modèle classique des objets, et certaines choses ne fonctionnent pas correctement avec l'ancien style des objets, par exemple, super(), @biens et des descripteurs. Voir cet article pour une bonne description de ce qu'un nouveau style de classe est:
http://docs.python.org/release/2.2.3/whatsnew/sect-rellinks.html
DONC, le lien pour une description des différences: http://stackoverflow.com/questions/54867/old-style-and-new-style-classes-in-python
Oui, c’est historique. Sans ses classes de style ancien.
Si vous utilisez `` sur un objet de style ancien, vous obtenez juste « instance ». Vous obtenez un objet nouveau style sa classe
Cela crée un nouveau style de classe.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.