Menu
CoddyTech

Dekorator für statische Methoden

Teil des Abschnitts Objektorientierte Programmierung der Python-Journey von Coddy. Lektion 11 von 64.

Der Dekorator @staticmethod erstellt Methoden, die weder self noch die Klasse benötigen. Sie funktionieren wie gewöhnliche Funktionen, gehören aber zur Klasse.

Hier ist ein Beispiel für eine Klasse mit statischen Methoden:

class MathHelper:
    @staticmethod
    def add(a, b):
        return a + b
    
    @staticmethod
    def is_even(number):
        return number % 2 == 0

Rufe statische Methoden über den Klassennamen auf:

result = MathHelper.add(5, 3)
print(result)

check = MathHelper.is_even(10)
print(check)

Du kannst sie auch von einem Objekt aus aufrufen:

helper = MathHelper()
result2 = helper.add(2, 4)
print(result2)

Ausgabe:

8
True
6

Statische Methoden greifen nicht auf Instanz- oder Klassendaten zu:

class Calculator:
    brand = "Python Calc"
    
    def __init__(self, owner):
        self.owner = owner
    
    @staticmethod
    def multiply(x, y):
        # Hier gibt es kein self, daher ist self.owner nicht verfügbar
        return x * y

Wichtiger Punkt: Verwende @staticmethod, wenn du eine Funktion brauchst, die zur Klasse gehört, aber keinen Zugriff auf die Instanz (self) oder die Klassendaten benötigt. Ein self-Parameter ist nicht erforderlich.

Probier es selbst

Diese Lektion enthält keine Programmieraufgabe.

quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Objektorientierte Programmierung

Übe selbstständig: Online-Python-Compiler