Treci la conținutul principal

Parametrul self

În interiorul unei metode, self se referă la instanța concretă a clasei cu care lucrează metoda.

Prin el ajungi la proprietățile și metodele care aparțin clasei.

Notă: În fiecare metodă a clasei, self trebuie să fie primul în lista de parametri.

Exemplu

Citește o proprietate a clasei prin self:

Prompt
Creează o clasă Person cu init care primește name și age, și o metodă greet care afișează un salut folosind self.name.
Ieșire: program Python complet

De ce folosim self?

self este modul în care Python știe la proprietățile cărui obiect te referi. Fără el, nu ar exista nicio modalitate de a afla:

Exemplu

Datorită lui self, metoda lucrează cu obiectul pe care a fost apelată:

Prompt
Creează o clasă Person cu o metodă printname, creează două obiecte și apelează printname pe fiecare.
Ieșire: program Python complet

self nu trebuie să se numească „self”

Numele în sine nu este obligatoriu. Merge orice nume, atât timp cât acel parametru este primul în fiecare metodă a clasei:

Notă: Faptul că poți alege alt nume nu înseamnă că ar trebui să o faci. self este convenția din Python, iar dacă o respecți, codul tău este mai ușor de citit pentru ceilalți.

Exemplu

Aici myobject și abc iau locul lui self:

Prompt
Creează o clasă Person folosind nume de parametri personalizate (myobject, abc) în loc de self.
Ieșire: program Python complet

Accesarea proprietăților cu self

Orice proprietate a clasei îți este la îndemână prin self:

Exemplu

Citește mai multe proprietăți prin self:

Prompt
Creează o clasă Car cu proprietățile brand, model, year și o metodă display_info care folosește un f-string și self.
Ieșire: program Python complet

Apelarea metodelor cu self

self îi permite unei metode și să apeleze alte metode ale aceleiași clase:

Exemplu

O metodă apelează alta prin self:

Prompt
Creează o clasă Person în care metoda welcome apelează metoda greet folosind self.
Ieșire: program Python complet