Est-il possible de créer des méthodes statiques en Python et de les appeler sans initialiser une classe, comme par exemple : ClassName.StaticMethod ()?
2 mai 2019
·
1 min. de lecture
Article initialement publié sur Quora
oui, ça se fait à l’aide du décorateur @staticmethod qui sert exactement à ça:
class MyClass:
@staticmethod
def staticmethod():
return 'static method called'
on peut ensuite appeler soit
MyClass().staticmethod(); # crée un objet, puis appelle sa méthode qui est statique
soit
MyClass.staticmethod(); # appelle directement la méthode statique
les décorateurs, c’est absolument génialement fabuleusement puissant et simple
les décorateurs, ou pourquoi j’aime toujours la programmation - Pourquoi Comment Combien
Langages-De-Programmation
Developpement-Logiciel
Methodes
Classes-en-Ligne
Constructeur-Programmation-Orientee-Objet
Developpeurs-Python
Python-Langage-De-Programmation
Programmation-Orientee-Objet
Programmation-en-Python

Auteurs
Dr. Goulu
(il/lui)
Ingénieur à la retraite, toujours curieux et voyageur
EPFL MS Informatique 1988, PhD automatique 1994, eMBA Management of Technology
Sur le même sujet
- Quelles sont les situations où les espaces blancs devraient être évités en Python ?
- Quelles sont les limitations des dataclasses de Python 3.7 comparé aux classes classiques de Python ?
- Pourquoi les objets intégrés mutables ne peuvent-ils pas être transformés en Python ? Quel est l'avantage de cela ?
- Qu'est-ce qu'un bon exemple de variable globale et de son utilisation en Python ?
- Quels sont les différents types d'arguments que vous pouvez utiliser pour définir une fonction Python ?
