Objektorientētajā programmēšanā pašatsauce, ko bieži sauc par self, ieņem izšķirošu lomu. Tu iemācīsies, kā efektīvi izmantot šo pašatsauci, lai veidotu mijiedarbību ar klasēm un objektiem Python.
Galvenie secinājumi
- Pašatsauce (self) ir konvencija Python, kas ļauj piekļūt pašreizējā objekta īpašībām un metodēm.
- self tiek izmantots kā pirmais parametrs instanču metodēs un atsaucas uz konkrēto objektu, uz kura metode tika izsaukta.
- Tu vari piekļūt objektiem no klasēm, nododot objektu kā parametru.
Pētīt pašatsauci
Lai pilnībā saprastu self nozīmi, aplūkosim vienkāršu piemēru. Pieņemsim, ka tev ir klase Personas.

Kad tu izveido šīs klases instanci, tiek rezervēta atmiņa, un objekts ir gatavs lietošanai. Šajā procesā mainīgais, ko tu izmanto instancēšanai, atsaucas uz atbilstošo atmiņas zonu.
Īpašais ir tas, ka, ja tu vēlies piekļūt īpašībām vai metodēm klasē, tev nepieciešama piekļuve pašreizējam objektam. Tā kā tu, definējot klasi, nezini, kā objekts vēlāk tiks saukts, self ir veids, kā piekļūt šai atsaucei.
Ja tu izmanto self.name, tu vari piekļūt personas vārdam, kas tika saglabāts inicializatorā.
Praktisks piemērs – Klase Auto
Tagad veidosim praktisku piemēru. Izveidosim klasi Auto, kurai būs zīmols un inicializators.

Inicializatorā tiek izmantots parametrs zīmols, lai iestatītu automašīnas zīmolu. Šeit ienāk self. Tas tiek izmantots metodē, lai piešķirtu nodotās vērtības instancējamai mainīgajai.

Tagad tu vari izveidot metodi get_zīmols, kas ļaus tev piekļūt automašīnas zīmolam. Parametrs self automātiski tiek nodots, kad metode tiek izsaukta.

Ja tagad tu izveido objekta Auto instanci, teiksim, tesla, un piekļūsti metodei get_zīmols, self atsaucas uz konkrēto objektu, tātad uz tesla.

Tas nozīmē, ka tu vari sagaidīt, ka metode get_zīmols atgriezīs iepriekš iestatīto vērtību.

Tu vari arī izsaukt metodi tieši caur klasi, nododot objektu. Tas netiek bieži darīts, bet tas palīdz saprast, kā self darbojas.

Ir svarīgi atzīmēt, ka standarta metode ir izsaukt metodi caur objektu, nevis caur klasi.
Kopsavilkums – Pašatsauces apgūšana Python
Pašatsauce ir pamatjēdziens objektorientētajā programmēšanā ar Python. Tā ļauj tev viegli piekļūt sava objekta īpašībām un metodēm, gan iekšpusē, gan ārpus funkcijām un metodēm. Ja tu apgūsi self izmantošanu savās klasēs, tu būsi spējīgs rakstīt skaidrākas, funkcionālākas un vieglāk uzturamas klases gan savos projektos, gan kopīgos komandu projektos.
Bieži uzdotie jautājumi
Kas ir self Python?self ir pirmais parametrs instanču metodēs un atsaucas uz pašreizējo objektu.
Kāpēc self ir svarīgs?self ļauj piekļūt pašreizējā objekta īpašībām un metodēm.
Vai es varu izmantot self klasē metodē?Jā, tomēr parasti ir ierasts izsaukt metodi caur objektu.
Kā self tiek nodots?self automātiski tiek nodots kā pirmais parametrs instanču metodēm.
Ko darīt, ja es aizmirstu par self metodē?Ja tu aizmirsti par self, tu nevarēsi piekļūt instanču mainīgajiem vai metodēm.