Statische Python-Methode

TJ Lerias 10 Oktober 2023
  1. Statische Python-Methode
  2. Erstellen und verwenden Sie eine statische Python-Methode
Statische Python-Methode

In diesem Artikel wird gezeigt, wie Sie statische Methoden in Python erstellen und verwenden können.

Statische Python-Methode

Eine statische Methode gehört zu einer Klasse; dennoch ist es nicht an das Objekt dieser Klasse gebunden. Daher kann sie aufgerufen werden, ohne eine Instanz der Klasse zu erstellen, in der sie sich befindet. Da statische Methoden nicht an ein Objekt gebunden sind, kennt sie die Eigenschaften einer Klasse nicht und kann daher nicht auf die Eigenschaften von zugreifen oder diese ändern die Klasse.

Erstellen und verwenden Sie eine statische Python-Methode

Zuerst erstellen wir eine Instanzmethode, damit wir sie von einer statischen Methode unterscheiden können. Nehmen wir an, wir haben eine Klasse Coffee mit einer Methode namens is_hot, die eine ganze Zahl als Parameter akzeptiert. Sie gibt True zurück, wenn die angegebene ganze Zahl größer als 50 ist, und False, wenn sie kleiner als 50 ist.

class Coffee:
    def is_hot(self, temperature):
        return temperature > 50


coffee = Coffee()
print(coffee.is_hot(100))

Ausgabe:

True

Im obigen Beispiel wurde coffee, eine Instanz der Klasse Coffee, instanziiert, um die Methode is_hot aufrufen zu können.

Machen wir nun aus is_hot eine statische Methode, indem wir den Dekorator @staticmethod verwenden. Es ist ein eingebauter Dekorator, der verwendet wird, um eine Methode als statische Methode zu definieren.

class Coffee:
    @staticmethod
    def is_hot(temperature):
        return temperature > 50


print(Coffee.is_hot(100))

Ausgabe:

True

Im Gegensatz zu der Instanzmethode, die wir aus dem vorherigen Beispiel erstellt haben, müssen Sie bei statischen Methoden kein self als Parameter übergeben und Sie müssen keine Instanz der Klasse erstellen, um eine statische Methode verwenden zu können . Sie können das Verfahren einfach direkt verwenden.

Alternativ kann die Funktion staticmethod() verwendet werden, um eine statische Methode zu erstellen. Dies ist eine eingebaute Funktion, die eine Funktion als Parameter nimmt und als statische Methode zurückgibt.

class Coffee:
    def is_hot(temperature):
        return temperature > 50


Coffee.is_hot = staticmethod(Coffee.is_hot)
print(Coffee.is_hot(100))

Ausgabe:

True

Statische Methoden sind nützlich, wenn Sie Dienstprogrammmethoden erstellen, die eine Aufgabe isoliert ausführen, da sie nicht auf die Eigenschaften einer Klasse zugreifen oder diese ändern müssen. es funktioniert nur mit den in den Argumenten übergebenen Daten.

Zusammenfassend können wir eine statische Methode erstellen, indem wir den Dekorator @staticmethod oder die Funktion staticmethod() verwenden. Sie benötigen keine Instanz einer Klasse, um eine statische Methode aufzurufen. wir können es einfach direkt anrufen.

Verwandter Artikel - Python Class