W programowaniu obiektowym referencja na aktualny obiekt, często nazywana self, odgrywa decydującą rolę. Nauczysz się, jak skutecznie wykorzystać tę referencję self, aby zorganizować interakcję z klasami i obiektami w Pythonie.
Najważniejsze wnioski
- Referencja self (self) to konwencja w Pythonie, która pozwala na dostęp do właściwości i metod aktualnego obiektu.
- self jest używane jako pierwszy parametr w metodach instancji i odnosi się do konkretnego obiektu, na którym została wywołana metoda.
- Możesz uzyskać dostęp do obiektów z metod klasowych, przekazując obiekt jako parametr.
Badanie referencji self
Aby w pełni zrozumieć znaczenie self, rozważmy prosty przykład. Załóżmy, że masz klasę Osoba.

Kiedy tworzysz instancję tej klasy, rezerwowane jest miejsce w pamięci i obiekt jest gotowy do użycia. Zmienna, której używasz do instancjonowania, odnosi się do przypisanego obszaru pamięci.
Co szczególne: jeśli chcesz uzyskać dostęp do właściwości lub metod wewnątrz klasy, potrzebujesz dostępu do aktualnego obiektu. Ponieważ podczas definiowania klasy nie wiesz, jak obiekt będzie się nazywał później, self jest sposobem na uzyskanie dostępu do tej referencji.
Więc jeśli używasz self.name, możesz uzyskać dostęp do imienia osoby, które zostało zapisane w inicjalizatorze.
Praktyczny przykład – Klasa Auto
Teraz zbudujmy praktyczny przykład. Tworzymy klasę Auto, która ma markę i inicjalizator.

W inicjalizatorze używany jest parametr marka, aby ustawić markę samochodu. Tutaj wkracza self. Jest używane w metodzie do przypisania przekazanej wartości do zmiennej instancji.

Teraz możesz stworzyć metodę get_marke, która pozwala uzyskać dostęp do marki samochodu. Parametr self jest automatycznie przekazywany, gdy metoda jest wywoływana.

Jeśli teraz stworzysz obiekt klasy Auto, nazwijmy go tesla, i uzyskasz dostęp do metody get_marke, self odwoła się do konkretnego obiektu, czyli tesli.

To oznacza, że możesz spodziewać się, że metoda get_marke zwróci wartość, która została wcześniej ustawiona.

Możesz również wywołać metodę bezpośrednio przez klasę, przekazując obiekt. Nie jest to często robione, ale jest pomocne dla zrozumienia, jak działa self.

Ważne jest, aby pamiętać, że standardową metodą jest wywoływanie metody przez obiekt, a nie przez klasę.
Podsumowanie – Mistrzostwo z referencją self w Pythonie
Referencja self to podstawowa koncepcja w programowaniu obiektowym z użyciem Pythona. Umożliwia łatwy dostęp do właściwości i metod twojego obiektu, zarówno wewnątrz, jak i na zewnątrz funkcji i metod. Mistrzując użycie self w swoich klasach, będziesz w stanie pisać bardziej klarowne, funkcjonalne i łatwiejsze w utrzymaniu klasy zarówno w projektach własnych, jak i w ramach wspólnych projektów zespołowych.
Najczęściej zadawane pytania
Co to jest self w Pythonie?self jest pierwszym parametrem w metodach instancji i odnosi się do aktualnego obiektu.
Dlaczego self jest ważne?self umożliwia dostęp do właściwości i metod aktualnego obiektu.
Czy mogę używać self w metodzie klasowej?Tak, jednak zwyczajniej jest wywoływać metodę przez obiekt.
Jak jest przekazywane self?self jest automatycznie przekazywane jako pierwszy parametr do metod instancji.
Co się stanie, jeśli zapomnę o self w metodzie?Jeśli zapomnisz o self, nie będziesz miał dostępu do zmiennych instancji ani metod.