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.

Efektyvus savireferencijos naudojimas Python'e

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

Efektyvus self-referencijos naudojimas Python programavimo kalboje

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

Efektyvus savireferencijos naudojimas Python kalboje

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

Efektyvus self-referencijos naudojimas Python kalboje

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

Efektyvus „Self“ nuorodos naudojimas Python programavimo kalboje

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

Efektyvus self-referencijos naudojimas Python'e

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

Efektyvus savireferencijos naudojimas Python kalboje

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