Junior — Middle
Quelle est la fonction du décorateur @staticmethod en Python et en quoi se distingue-t-il des méthodes normales de la classe?
sobes.tech IA
Réponse de l'IA
Le décorateur @staticmethod en Python est utilisé pour définir une méthode à l’intérieur d’une classe qui ne dépend pas d’une instance de la classe et n’accepte pas automatiquement le paramètre self.
Différences avec les méthodes normales :
- Les méthodes normales prennent en premier paramètre
self— une référence à l’instance courante de la classe. - Les méthodes statiques ne prennent ni
selfnicls(une référence à la classe).
Cela signifie qu’une méthode statique est simplement une fonction liée logiquement à la classe, mais qui n’utilise pas son état.
Exemple :
class MyClass:
@staticmethod
def static_method(x, y):
return x + y
def instance_method(self, x, y):
return x * y
print(MyClass.static_method(3, 4)) # 7
obj = MyClass()
print(obj.instance_method(3, 4)) # 12
Les méthodes statiques sont utiles pour des fonctions utilitaires qui ont du sens dans le contexte de la classe, mais qui ne nécessitent pas d’accès à ses données.