Objektorienteeritud programmeerimises mängib viide praegusele objektile, mida sageli nimetatakse self, keskset rolli. Sa õpid, kuidas seda self-viidet tõhusalt kasutada, et kujundada interaktsiooni klassidega ja objektidega Pythonis.
Olulised järeldused
- Self-viide (self) on Pythonis konventsioon, mis võimaldab sul pääseda praeguse objekti atribuutide ja meetodite juurde.
- self kasutatakse instantsmetoodikate esimesena parameetrina ning viitab sellele konkreetsele objektile, millel meetod kutsuti.
- Sa saad klassimeetodite kaudu objektidele ligi, edastades objekti parameetrina.
Self-viite uurimine
Et täielikult mõista self-i tähendust, vaatame lihtsat näidet. Oletame, et sul on klass Person.

Kui sa lood selle klassi instantsi, reserveeritakse mälu ja objekt on kasutamiseks valmis. Siin viitab muutuja, mida kasutad instantsimist, vastavale mäluruumile.
Erihuvitav on see, et kui sa soovid klassis ligipääsu atribuutidele või meetoditele, pead sa saama ligipääsu praegusele objekti. Kuna sa ei tea klassi defineerimisel, kuidas objekt hiljem nimetatakse, on self viis, kuidas sellele viidatavale juurde pääseda.
Nii et kui sa kasutad self.name, saad sa ligi inimese nimele, mis on salvestatud initiseerijas.
Praktiline näide – Klass Auto
Nüüd loome praktilise näite. Loome klassi Auto, millel on kaubamärk ja initiseerija.

Initiseerijas kasutatakse parameetrit kaubamärk, et seada auto kaubamärk. Siin tuleb mängu self. Seda kasutatakse meetodis edastatud väärtuse määramiseks instantsmuutujale.

Nüüd saad luua meetodi get_marke, mis võimaldab sul pääseda auto kaubamärgile ligi. Parameeter self edastatakse automaatselt, kui meetodit kutsutakse.

Kui sa nüüd lood auto klassi objekti, ütleme tesla, ja pääsed ligi meetodile get_marke, siis self viitab konkreetsele objektile, seega teslale.

See tähendab, et sa saad oodata, et meetod get_marke tagastab väärtuse, mis on eelnevalt seadistatud.

Sa saad ka meetodi otse klassi kaudu kutsuda, edastades objekti. Seda ei tehta sageli, kuid see on kasulik arusaamiseks, kuidas self töötab.

Oluline on märkida, et tavaline meetod on kutsuda meetod objekti kaudu, mitte klassi kaudu.
Kokkuvõte – Self-viite meisterdamine Pythonis
Self-viide on põhimõtteline kontseptsioon objektorienteeritud programmeerimises Pythonis. See võimaldab sul hõlpsalt pääseda ligi sinu objekti atribuutidele ja meetoditele, nii funktsioonides kui ka meetodites. Kui sa valdad self-i kasutamise oma klassides, suudad sa kirjutada selgemaid, funktsionaalsemaid ja hoolduse sõbralikke klasse nii oma projektides kui ka ühisprojektide kontekstis.
Korduma kippuvad küsimused
Mis on self Pythonis?self on esimene parameeter instantsmetoodikates ja viitab praegusele objektile.
Pourquoi self on oluline?self võimaldab pääseda ligi praeguse objekti atribuutidele ja meetoditele.
Kas ma saan kasutada self-i klassimeetodis?Jah, kuid on tavalisem kutsuda meetod üle objekti.
Kuidas self edastatakse?self edastatakse automaatselt esimese parameetrina instantsmetoodikatele.
Mis juhtub, kui unustan self-i meetodis?Kui unustad self-i, ei saa sa ligi instantsmuutujatele või -meetoditele.