Website-Suche

Python statische Methode


Python statische Methode

In diesem kurzen Beitrag werden wir lernen, wie man eine statische Methode in Python erstellt und verwendet. Wir werden zudem einen Blick darauf werfen, welche Vor- und Nachteile statische Methoden im Vergleich zu Instanzmethoden bieten. Lassen Sie uns anfangen.

Was ist eine statische Methode?

Statische Methoden in Python sind extrem ähnlich zu den klassenlevel Methoden in Python, der Unterschied besteht darin, dass eine statische Methode an eine Klasse und nicht an die Objekte dieser Klasse gebunden ist. Das bedeutet, dass eine statische Methode ohne ein Objekt für diese Klasse aufgerufen werden kann. Das bedeutet auch, dass statische Methoden den Zustand eines Objekts nicht ändern können, da sie nicht an es gebunden sind. Lassen Sie uns sehen, wie wir statische Methoden in Python erstellen können.

Statische Methoden in Python erstellen

Statische Methoden in Python können auf zwei Arten erstellt werden. Lassen Sie uns hier jede der Methoden ansehen:

Verwendung von staticmethod()

Lass uns direkt zu einem Beispiel-Code-Snippet springen, wie man den staticmethod()-Ansatz verwendet:

class Calculator:

    def addNumbers(x, y):
        return x + y

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

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

Beachten Sie, dass wir die addNumbers, die wir ohne ein Objekt erstellt haben, aufgerufen haben. Wenn wir dieses Programm ausführen, ist hier die Ausgabe, die wir erhalten werden:

Es gab dort keine Überraschungen. Dieser Ansatz ist kontrolliert, da es an jedem Ort möglich ist, eine statische Methode aus einer Klassenmethode zu erstellen. Lassen Sie uns hier einen weiteren Ansatz mit demselben Beispiel ansehen.

Verwendung von @staticmethod

Dies ist eine subtilere Methode, um eine statische Methode zu erstellen, da wir uns nicht auf eine Aussage zur Definition einer Methode als Klassenmethode verlassen müssen und sie an jedem Ort, an dem wir sie statisch machen, statisch machen. Lassen Sie uns diese Annotation in einem Codeausschnitt verwenden:

class Calculator:

    # create addNumbers static method
    @staticmethod
    def addNumbers(x, y):
        return x + y

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

Wenn wir dieses Programm ausführen, erhalten wir folgende Ausgabe:

Dies war tatsächlich ein viel besserer Weg, um eine statische Methode zu erstellen, da die Absicht, die Methode statisch zu halten, klar ist, sobald wir sie erstellen und mit der @staticmethod-Annotation kennzeichnen.

Vorteile der statischen Methode in Python

Statische Methoden haben einen sehr klaren Anwendungsfall. Wenn wir eine Funktionalität benötigen, die sich nicht auf ein Objekt, sondern auf die gesamte Klasse bezieht, machen wir eine Methode statisch. Das ist besonders vorteilhaft, wenn wir Hilfsmethoden erstellen müssen, da diese normalerweise nicht an einen Objektlebenszyklus gebunden sind. Schließlich ist zu beachten, dass wir in einer statischen Methode nicht self als ersten Argument übergeben müssen. API-Referenz: Python-Dokumentation