Méthode statique Python
Cet article montre comment créer et utiliser des méthodes statiques en Python.
Méthode statique Python
Une méthode statique appartient à une classe ; encore, il n’est pas lié à l’objet de cette classe. Ainsi, il peut être appelé sans créer d’instance de la classe dans laquelle il réside. Étant donné que les méthodes statiques ne sont pas liées à un objet, il ne connaît pas les propriétés d’une classe, il ne peut donc pas accéder ou modifier les propriétés de la classe.
Créer et utiliser une méthode statique Python
Tout d’abord, créons une méthode d’instance afin de pouvoir la différencier d’une méthode statique. Disons que nous avons une classe Coffee
avec une méthode appelée is_hot
qui accepte un entier comme paramètre. Il renvoie True
si l’entier donné est supérieur à 50 et False
s’il est inférieur à 50.
class Coffee:
def is_hot(self, temperature):
return temperature > 50
coffee = Coffee()
print(coffee.is_hot(100))
Production:
True
Dans l’exemple ci-dessus, coffee
, qui est une instance de la classe Coffee
, a été instanciée pour pouvoir appeler la méthode is_hot
.
Maintenant, transformons is_hot
en une méthode statique en utilisant le décorateur @staticmethod
. C’est un décorateur intégré qui est utilisé pour définir une méthode en tant que méthode statique.
class Coffee:
@staticmethod
def is_hot(temperature):
return temperature > 50
print(Coffee.is_hot(100))
Production:
True
Contrairement à la méthode d’instance que nous avons créée à partir de l’exemple précédent, vous n’avez pas besoin de passer self
comme paramètre pour les méthodes statiques, et vous n’avez pas besoin de créer une instance de la classe pour pouvoir utiliser une méthode statique . Vous pouvez simplement utiliser le processus directement.
Alternativement, la fonction staticmethod()
peut être utilisée pour créer une méthode statique. Il s’agit d’une fonction intégrée qui prend une fonction comme paramètre et la renvoie comme méthode statique.
class Coffee:
def is_hot(temperature):
return temperature > 50
Coffee.is_hot = staticmethod(Coffee.is_hot)
print(Coffee.is_hot(100))
Production:
True
Les méthodes statiques sont utiles lors de la création de méthodes utilitaires qui effectuent une tâche de manière isolée car elles n’ont pas besoin d’accéder ou de modifier les propriétés d’une classe ; cela ne fonctionne qu’avec les données passées dans les arguments.
En résumé, nous pouvons créer une méthode statique en utilisant le décorateur @staticmethod
ou la fonction staticmethod()
. Vous n’avez pas besoin d’avoir une instance d’une classe pour appeler une méthode statique ; nous pouvons simplement l’appeler directement.