Î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.

Utilizarea eficientă a auto-referenței în Python

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.

Utilizarea eficientă a auto-referenței în Python

Î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ță.

Utilizarea eficientă a auto-referenței în Python

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ă.

Utilizarea eficientă a auto-referenței în Python

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.

Utilizarea eficientă a auto-referenței în Python

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

Utilizarea eficientă a auto-referenței în Python

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.

Utilizarea eficientă a auto-referenței în Python

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ță.