Menu
Coddy logo textTech

Dekorator metody statycznej

Część sekcji Programowanie obiektowe ścieżki Python w Coddy. Lekcja 11 z 64.

Dekorator @staticmethod tworzy metody, które nie potrzebują self ani klasy. Działają jak zwykłe funkcje, ale należą do klasy.

Oto przykład klasy z metodami statycznymi:

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

Wywołuj metody statyczne, używając nazwy klasy:

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

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

Możesz też wywoływać je z obiektu:

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

Wynik:

8
True
6

Metody statyczne nie mają dostępu do danych instancji ani klasy:

class Calculator:
    brand = "Python Calc"
    
    def __init__(self, owner):
        self.owner = owner
    
    @staticmethod
    def multiply(x, y):
        # Nie ma dostępu do self.owner ani Calculator.brand
        return x * y

Kluczowa kwestia: Używaj @staticmethod, gdy potrzebujesz funkcji powiązanej z klasą, która nie wymaga dostępu do instancji (self) ani danych klasy. Parametr self nie jest potrzebny.

Spróbuj swoich sił

Ta lekcja nie zawiera wyzwania z kodem.

quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Programowanie obiektowe

Poćwicz samodzielnie: Kompilator Python online