Menu
CoddyTech

Décorateur de méthode statique

Fait partie de la section Programmation orientée objet du Journey Python de Coddy. Leçon 11 sur 64.

Le décorateur @staticmethod crée des méthodes qui n’ont besoin ni de self ni de la classe. Elles fonctionnent comme des fonctions ordinaires, mais appartiennent à la classe.

Voici un exemple de classe avec des méthodes statiques :

class MathHelper:
    @staticmethod
    def add(a, b):
        return a + b
    
    @staticmethod
    def is_even(number):
        return number % 2 == 0

Appelez les méthodes statiques à l’aide du nom de la classe :

result = MathHelper.add(5, 3)
print(result)

check = MathHelper.is_even(10)
print(check)

Tu peux aussi les appeler depuis un objet :

helper = MathHelper()
result2 = helper.add(2, 4)
print(result2)

Résultat :

8
True
6

Les méthodes statiques n’accèdent pas aux données d’instance ou de classe :

class Calculator:
    brand = "Python Calc"
    
    def __init__(self, owner):
        self.owner = owner
    
    @staticmethod
    def multiply(x, y):
        # Pas de self ici, donc self.owner n'est pas disponible
        return x * y

Point clé : utilisez @staticmethod lorsqu’une fonction est liée à la classe, mais n’a pas besoin d’accéder aux données de l’instance (self) ou de la classe. Aucun paramètre self n’est nécessaire.

Essayez vous-même

Cette leçon ne comprend pas de défi de code.

quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Programmation orientée objet

Entraînez-vous par vous-même : Compilateur Python en ligne