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.