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.

Efektīva pašreferences izmantošana Python

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.

Efektīva pašsazināšanās izmantošana Pythonā

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.

Efektīva pašatsauces izmantošana Python valodā

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.

Efektīva paša-references izmantošana Python

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.

Efektīva self-referencēšanas izmantošana Pythonā

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

Efektīva self-referencē izmantošana Python valodā

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.

Efektīva self-referencēšana Python valodā

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.