Méthode statique Python
Dans ce court article, nous allons apprendre comment créer et utiliser une méthode statique Python. Nous examinerons également les avantages et les inconvénients des méthodes statiques par rapport aux méthodes d’instance. Commençons.
Qu’est-ce qu’une méthode statique ?
Les méthodes statiques en Python sont extrêmement similaires aux méthodes de niveau de classe, la différence étant qu’une méthode statique est liée à une classe plutôt qu’aux objets de cette classe. Cela signifie qu’une méthode statique peut être appelée sans objet pour cette classe. Cela signifie également que les méthodes statiques ne peuvent pas modifier l’état d’un objet car elles n’y sont pas liées. Voyons comment nous pouvons créer des méthodes statiques en Python.
Création de méthodes statiques Python
Les méthodes statiques Python peuvent être créées de deux manières. Voyons chacune des façons ici :
En utilisant staticmethod()
Passons directement à un extrait de code d’exemple sur la façon d’utiliser l’approche staticmethod()
:
class Calculator:
def addNumbers(x, y):
return x + y
# créer une méthode statique addNumbers
Calculator.addNumbers = staticmethod(Calculator.addNumbers)
print('Product:', Calculator.addNumbers(15, 110))
Remarquez que nous avons appelé la méthode addNumbers que nous avons créée sans objet. Lorsque nous exécutons ce programme, voici la sortie que nous obtiendrons : Il n’y avait pas de surprises là-bas. Cette approche est contrôlée car à chaque endroit, il est possible de créer une méthode statique à partir d’une méthode de classe également. Voyons une autre approche avec le même exemple ici.
En utilisant @staticmethod
C’est une façon plus subtile de créer une méthode statique car nous n’avons pas à nous fier à une définition d’instruction d’une méthode étant une méthode de classe et à la rendre statique à chaque endroit où vous la rendez statique. Utilisons cette annotation dans un extrait de code:
class Calculator:
# créer une méthode statique addNumbers
@staticmethod
def addNumbers(x, y):
return x + y
print('Product:', Calculator.addNumbers(15, 110))
Lorsque nous exécutons ce programme, voici la sortie que nous obtiendrons: En fait, il s’agissait d’une bien meilleure façon de créer une méthode statique car l’intention de la maintenir statique est claire dès que nous la créons et la marquons avec l’annotation
@staticmethod
.
Avantages de la méthode statique en Python
Les méthodes statiques ont un cas d’utilisation très clair. Lorsque nous avons besoin d’une fonctionnalité non liée à un objet mais liée à la classe entière, nous créons une méthode statique. C’est très avantageux lorsque nous devons créer des méthodes utilitaires car elles ne sont généralement pas liées au cycle de vie d’un objet. Enfin, notez que dans une méthode statique, nous n’avons pas besoin que self
soit passé en premier argument. Référence de l’API: Documentation Python
Source:
https://www.digitalocean.com/community/tutorials/python-static-method