Méthodes @classmethod vs @staticmethod vs Instance – Real Python

By | juin 11, 2019

trouver un expert Python

Dan Bader

Quelle est la différence entre @classmethod, @staticmethodet des méthodes d'instance «simples / régulières» en Python? Vous saurez la réponse après avoir regardé ce cours vidéo:

  • Les méthodes régulières (instance) ont besoin d’une instance de classe et peuvent y accéder via soi. Ils peuvent lire et modifier librement un état d'objets.

  • Méthodes de classe, marquées avec le @classmethod décorateur, n’avez pas besoin d’une instance de classe. Ils ne peuvent pas accéder à l'instance (self) mais ils ont accès à la classe elle-même via cls.

  • Méthodes statiques, marquées avec le @staticmethod décorateur, ne pas avoir accès à cls ou soi. Ils fonctionnent comme des fonctions normales mais appartiennent à l’espace de noms de la classe.

Dans ce cours, vous allez passer en revue les différences entre ces trois types de méthodes en Python. Vous verrez également quand utiliser chaque exemple avec un exemple simple. Vous pourrez ainsi améliorer vos compétences en programmation orientée objet (OOP) en Python.

Types de méthodes de programmation orientées objet en Python: @classmethod vs @staticmethod vs méthodes d'instance

7 leçons 14m

Dan Bader "tailles =" 25vw

Dan est le chef de la noix de python chez Real Python. Il aide les développeurs Python à améliorer leurs compétences en matière de codage grâce à des tutoriels, des livres et une formation en ligne sur Python.

»Plus sur Dan


Chaque tutoriel chez Real Python est créé par une équipe de développeurs afin de répondre à nos normes de qualité élevées. Les membres de l'équipe qui ont travaillé sur ce tutoriel sont:

Tappan Moore