Menu
Coddy logo textTech

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 reguläre 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 mit dem 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):
        # Cannot access self.owner or Calculator.brand
        return x * y

Wichtiger Punkt: Verwende @staticmethod, wenn du eine Funktion benötigst, die mit der Klasse zusammenhängt, aber keinen Zugriff auf die Instanz (self) oder Klassendaten benötigt. Kein self-Parameter 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