| title | Fonction intégrée Python staticmethod() - Aide-mémoire Python |
|---|---|
| description | Transformer une méthode en méthode statique. |
Le décorateur @staticmethod transforme une méthode de manière à ce qu'elle appartienne à une classe mais ne reçoive ni la classe ni l'instance comme premier argument. Ceci est utile pour créer des fonctions utilitaires qui ont un lien logique avec une classe mais ne dépendent pas de l'état de la classe ou de l'instance.
Une méthode statique peut être appelée soit sur la classe elle-même, soit sur une instance.
Voici comment définir et appeler une méthode statique :
class MathHelper:
@staticmethod
def add(x, y):
return x + y
# Appel sur la classe
result1 = MathHelper.add(5, 3)
print(result1)
# Appel sur une instance
helper = MathHelper()
result2 = helper.add(10, 20)
print(result2)8
30
Une méthode statique n'a pas accès à la classe (cls) ni à l'instance (self). C'est essentiellement une fonction normale nommée dans l'espace de noms de la classe.
- Cheatsheet : Bases de l'OOP
- Cheatsheet : Décorateurs
- Cheatsheet : Fonctions
- classmethod()
- property()