Méthode statique Python

TJ Lerias 10 octobre 2023
  1. Méthode statique Python
  2. Créer et utiliser une méthode statique Python
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.

Article connexe - Python Class