În programarea orientată pe obiect, referința la obiectul curent, adesea numită self, joacă un rol esențial. Vei învăța cum să utilizezi această referință self în mod eficient pentru a gestiona interacțiunea cu clasele și obiectele în Python.
Cele mai importante concluzii
- Referința self (self) este o convenție în Python care îți permite să accesezi proprietățile și metodele obiectului curent.
- self este folosit ca prim parametru în metodele de instanță și face referință la obiectul specific pe care a fost apelată metoda.
- Poți accesa obiectele din metodele de clasă transmitând obiectul ca parametru.
Examinarea referinței Self
Pentru a înțelege pe deplin semnificația lui self, haideți să luăm un exemplu simplu. Să presupunem că ai o clasă Person.

Când creezi o instanță a acestei clase, se rezervă memorie, iar obiectul este pregătit pentru utilizare. Variabila pe care o folosești pentru instanțiere face referință la zona de memorie asociată.
Ce este special: atunci când dorești să accesezi proprietățile sau metodele din interiorul clasei, ai nevoie de acces la obiectul curent. Deoarece nu știi cum se va numi obiectul mai târziu când definești clasa, self este modul de a accesa această referință.
Așadar, când folosești self.name, poți accesa numele persoanei care a fost stocat în initializer.
Un exemplu practic – Clasa Auto
Acum să construim un exemplu practic. Vom crea o clasă Auto, care are o marcă și un initializer.

În initializer, parametrul marcă este folosit pentru a seta marca mașinii. Aici intervine self. Este utilizat în metodă pentru a asocia valoarea transmisă variabilei de instanță.

Acum poți crea o metodă get_marcă care îți permite să accesezi marca mașinii. Parametrul self este transmis automat atunci când metoda este apelată.

Dacă acum creezi un obiect al clasei Auto, să zicem tesla, și accesezi metoda get_marcă, self va face referință la obiectul specific, adică tesla.

Asta înseamnă că te poți aștepta ca metoda get_marcă să returneze valoarea care a fost setată anterior.

Poți de asemenea apela metoda direct prin clasă, transmițând obiectul. Aceasta nu se face frecvent, dar este utilă pentru a înțelege modul în care funcționează self.

Este important de menționat că metoda standard este de a apela metoda prin obiect, nu prin clasă.
Rezumat – Stăpânirea referinței Self în Python
Referința self este un concept fundamental în programarea orientată pe obiect cu Python. Îți permite accesul ușor la proprietățile și metodele obiectului tău, atât în interiorul cât și în exteriorul funcțiilor și metodelor. Când stăpânești utilizarea lui self în clasele tale, vei putea scrie clase mai clare, funcționale și mai ușor de întreținut, atât în propriile proiecte, cât și în cadrul proiectelor de echipă comune.
Întrebări frecvente
Ce este self în Python?self este primul parametru în metodele de instanță și face referință la obiectul curent.
De ce este important self?self permite accesul la proprietățile și metodele obiectului curent.
Pot folosi self într-o metodă de clasă?Da, dar este mai obișnuit să apelezi metoda prin obiect.
Cum se transmite self?self este transmis automat ca prim parametru în metodele de instanță.
Ce se întâmplă dacă uit de self într-o metodă?Dacă uiți de self, nu poți accesa variabilele sau metodele de instanță.