Recherche de site Web

méthode statique Python


méthode statique Python

Dans ce post rapide, nous allons apprendre comment créer et utiliser une méthode statique en Python. Nous allons également examiner quels avantages et inconvénients les méthodes statiques offrent 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 classe en Python, 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 un objet de cette classe. Cela signifie également que les méthodes statiques ne peuvent pas modifier l'état d'un objet car elles ne lui sont pas liées. Voyons comment nous pouvons créer des méthodes statiques en Python.

Créer des méthodes statiques en Python

Les méthodes statiques en Python peuvent être créées de deux manières. Voyons ici chacune des façons :

Utiliser 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

create addNumbers static method
Calculator.addNumbers = staticmethod(Calculator.addNumbers)

print('Product:', Calculator.addNumbers(15, 110))

Notez que nous avons appelé la fonction addNumbers que nous avons créée sans un objet. Lorsque nous exécutons ce programme, voici la sortie que nous obtiendrons :

Il n'y avait pas de surprises à cet égard. 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.

Utiliser @staticmethod

C'est une manière plus subtile de créer une méthode statique car nous n'avons pas à nous fier à une définition de déclaration d'une méthode étant une méthode de classe et à la rendre statique à chaque endroit où nous la rendons statique. Utilisons cette annotation dans un extrait de code :

class Calculator:

    # create addNumbers static method
    @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 :

C'était en réalité une bien meilleure façon de créer une méthode statique, car l'intention de garder la méthode statique est claire dès que nous la créons et que nous la marquons avec l'annotation @staticmethod.

Avantages de la méthode statique de Python

Les méthodes statiques ont un cas d'utilisation très clair. Lorsque nous avons besoin de fonctionnalités non par rapport à un objet mais par rapport à la classe complète, nous rendons une méthode statique. Cela est particulièrement 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 de passer self comme premier argument. Référence API : Documentation Python.