Objektiniame programavime nuoroda į šiuo metu esantį objektą, dažnai vadinama self, atlieka svarbų vaidmenį. Tu sužinosi, kaip efektyviai naudoti šią self nuorodą, kad galėtum sąveikauti su klasėmis ir objektais Python kalboje.
Pagrindinės įžvalgos
- Self nuoroda (self) yra konvencija Python, leidžianti pasiekti esamo objekto savybes ir metodus.
- self naudojamas kaip pirmasis parametras instancijos metoduose ir nurodo konkretų objektą, kuriame metodas buvo iškviestas.
- Tu gali pasiekti objektus iš klasės metodų, perduodamas objektą kaip parametrą.
Tyrinėjame self nuorodą
Norint pilnai suprasti self reikšmę, pažvelkime į paprastą pavyzdį. Tarkime, turi klasę Asmuo.

Jei sukursi šios klasės instanciją, bus paskirta atmintis ir objektas bus paruoštas naudojimui. Čia kintamasis, kurį naudoji instancijai sukurti, nurodo atitinkamą atminties sritį.
Ypatinga tai, kad jei nori prieiti prie savybių ar metodų klasėje, reikia prieigos prie esamo objekto. Kadangi kuriant klasę tu nežinai, kaip objektas vėliau bus pavadintas, self yra būdas pasiekti šią nuorodą.
Todėl, jei naudoji self.name, gali pasiekti asmens vardą, kuris buvo saugomas inicializatoriuje.
Praktinis pavyzdys – Automobilių klasė
Dabar sukurkime praktinį pavyzdį. Sukursime Automobilių klasę, turinčią markę ir inicializatorių.

Inicializatoriuje bus naudojamas markė parametras, norint nustatyti automobilio markę. Čia į pagalbą ateina self. Jis naudojamas metode, kad priskirtų perduotą reikšmę instancijos kintamajam.

Dabar gali sukurti get_marke metodą, leidžiantį pasiekti automobilio markę. Parametras self bus automatiškai perduotas, kai metodas bus iškviestas.

Dabar, jei sukursi Automobilio klasės objektą, pavyzdžiui, tesla, ir pasieksi get_marke metodą, self nurodys konkretų objektą, t.y. tesla.

Tai reiškia, kad gali tikėtis, jog get_marke metodas grąžins anksčiau nustatytą reikšmę.

Taip pat gali tiesiogiai kviesti metodą per klasę, perduodamas objektą. Tai ne visada daroma, tačiau tai padeda suprasti, kaip veikia self.

Svarbu atkreipti dėmesį, kad standartinė metodika yra kviesti metodą per objektą, o ne per klasę.
Santrauka – Išmokti self nuorodą Python
Self nuoroda yra pagrindinė koncepcija objektiniame programavime su Python. Ji leidžia lengvai pasiekti objekto savybes ir metodus, tiek funkcijose, tiek metoduose. Jei išmoksi naudoti self savo klasėse, galėsi rašyti aiškesnes, funkcionalesnes ir lengviau prižiūrimas klases tiek savo projektuose, tiek bendruose komandos projektuose.
Dažnai užduodami klausimai
Kas yra self Python?self yra pirmasis parametras instancijų metoduose ir nurodo esamą objektą.
Kodėl self yra svarbus?self leidžia pasiekti esamo objekto savybes ir metodus.
Ar galiu naudoti self klasės metode?Taip, tačiau dažniausiai metodas kviečiamas per objektą.
Kaip perduodamas self?self automatiškai perduodamas kaip pirmasis parametras instancijų metoduose.
Kas nutinka, jei pamirštu self metode?Pamiršus self, negalėsi pasiekti instancijų kintamųjų ar metodų.