Python-Static-Method
In diesem kurzen Beitrag werden wir lernen, wie man eine Python-Static-Methode erstellt und verwendet. Wir werden uns auch ansehen, welche Vor- und Nachteile statische Methoden im Vergleich zu Instanzmethoden bieten. Fangen wir an.
Was ist eine statische Methode?
Statische Methoden in Python sind extrem ähnlich wie Python-Klassen-Methoden, der Unterschied besteht darin, dass eine statische Methode an eine Klasse gebunden ist, anstatt an die Objekte für diese Klasse. Dies bedeutet, dass eine statische Methode ohne ein Objekt für diese Klasse aufgerufen werden kann. Dies bedeutet auch, dass statische Methoden den Zustand eines Objekts nicht ändern können, da sie nicht daran gebunden sind. Sehen wir, wie wir in Python statische Methoden erstellen können.
Erstellen von Python-Static-Methoden
Python-Static-Methoden können auf zwei Arten erstellt werden. Lassen Sie uns jede der Methoden hier sehen:
Die Verwendung von staticmethod()
Springen wir direkt zum Beispielcode, wie man den Ansatz staticmethod()
verwendet:
class Calculator:
def addNumbers(x, y):
return x + y
# Erstellen der statischen Methode addNumbers
Calculator.addNumbers = staticmethod(Calculator.addNumbers)
print('Product:', Calculator.addNumbers(15, 110))
Beachten Sie, dass wir die von uns erstellte addNumbers ohne ein Objekt aufgerufen haben. Wenn wir dieses Programm ausführen, erhalten wir folgende Ausgabe: Es gab keine Überraschungen. Dieser Ansatz ist kontrolliert, da an jeder Stelle auch eine statische Methode aus einer Klassenmethode erstellt werden kann. Lassen Sie uns einen weiteren Ansatz mit demselben Beispiel sehen.
Verwendung von @staticmethod
Dies ist eine subtilere Möglichkeit, eine statische Methode zu erstellen, da wir uns nicht auf eine Aussagedefinition einer Methode als Klassenmethode verlassen müssen und sie statisch machen, wo immer Sie sie statisch machen. Lassen Sie uns diese Annotation in einem Code-Snippet verwenden:
class Calculator:
# Erstellen der statischen Methode addNumbers
@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 eine viel bessere Möglichkeit, eine statische Methode zu erstellen, da die Absicht, die Methode statisch zu halten, klar ist, sobald wir sie erstellen und mit der
@staticmethod
-Annotation markieren.
Vorteile von Python-Static-Methoden
Statische Methoden haben einen sehr klaren Anwendungsfall. Wenn wir einige Funktionalitäten benötigen, die sich nicht auf ein Objekt, sondern auf die gesamte Klasse beziehen, machen wir eine Methode statisch. Dies ist ziemlich vorteilhaft, wenn wir Hilfsmethoden erstellen müssen, da sie normalerweise nicht an den Lebenszyklus eines Objekts gebunden sind. Schließlich ist zu beachten, dass in einer statischen Methode das self
nicht als erstes Argument übergeben werden muss. API-Referenz: Python-Dokumentation
Source:
https://www.digitalocean.com/community/tutorials/python-static-method