Co robi słowo kluczowe self w Pythonie?

W języku Python, słowo kluczowe self jest używane w definicjach metod klasowych. Reprezentuje instancję obiektu danej klasy i umożliwia dostęp do jej atrybutów oraz metod. Jest to konwencja, a nie wymóg języka Python – używamy self, aby kod był czytelny i zrozumiały dla społeczności programistów. W tym artykule przyjrzymy się, jak self działa na praktycznym przykładzie.

Przykład kodu z wyjaśnieniami

class Car:
    # Konstruktor klasy, przyjmuje 'self' i inne argumenty
    def __init__(self, make, model):
        # Używamy 'self', aby przypisać wartości do atrybutów obiektu
        self.make = make
        self.model = model

    # Metoda wyświetlająca informacje o samochodzie
    def display_info(self):
        # Dostęp do atrybutów obiektu za pomocą 'self'
        print("Samochód marki:", self.make, "Model:", self.model)

    # Metoda zmieniająca model samochodu
    def change_model(self, new_model):
        # Zmiana atrybutu 'model' obiektu
        self.model = new_model

# Tworzenie instancji klasy Car
my_car = Car("Toyota", "Corolla")

# Wywołanie metody wyświetlającej informacje, używa 'self' wewnątrz
my_car.display_info()  # Wyświetla "Samochód marki: Toyota Model: Corolla"

# Zmiana modelu samochodu
my_car.change_model("Rav4")

# Ponowne wyświetlenie informacji po zmianie modelu
my_car.display_info()  # Wyświetla "Samochód marki: Toyota Model: Rav4"

W powyższym przykładzie, klasa Car wykorzystuje self, aby odwoływać się do jej atrybutów (make i model) oraz metod (display_info i change_model). Dzięki self, metody klasy mogą modyfikować atrybuty konkretnych instancji obiektów tej klasy.

Podsumowanie

Słowo kluczowe self w Pythonie odgrywa centralną rolę w definicji i manipulacji atrybutami i metodami klas. Umożliwia metodom klasy dostęp i modyfikację stanu konkretnych instancji, co jest fundamentem programowania obiektowego w Pythonie. Jego zrozumienie i prawidłowe stosowanie jest kluczowe dla tworzenia zorganizowanego i efektywnego kodu.

Jeżeli chcesz przyśpieszyć swoją naukę tworzenia stron chciałbym polecić mój kurs Python od podstaw w którym nauczysz się tego języka od podstaw do zaawansowanych jego aspektów.

Scroll to Top