140 votes

Toutes les classes Python doivent-elles étendre object ?

J'ai constaté que les deux méthodes suivantes fonctionnent :

class Foo():
    def a(self):
        print "hello"

class Foo(object):
    def a(self):
        print "hello"

Toutes les classes Python devraient-elles étendre object ? Y a-t-il des problèmes potentiels à ne pas étendre object ?

3 votes

Y a-t-il une différence entre class Foo(): y class Foo: ? Comme je l'ai observé, les deux fonctionnent dans Python 3.

0 votes

C'est bien répondu dans cette question : stackoverflow.com/questions/4015417/

0voto

thkang Points 3692

Dans python3 il n'y a pas de différence, mais dans python2 pas d'extension object vous donne une classe de style ancien ; vous souhaitez utiliser une classe de style nouveau plutôt qu'une classe de style ancien.

2 votes

Cette réponse est raisonnable, mais d'autres personnes y sont parvenues plus rapidement et/ou de manière plus détaillée ; cette réponse n'apporte aucune valeur ajoutée à la page en l'état.

Prograide.com

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.

Powered by:

X