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.

Tõhus kasutamine iseviitamisel Pythonis

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.

Tõhus kasutamine self-referentsis Pythonis

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

Effectiivne enesereferentsi kasutamine Pythonis

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

Efektiivne enesereferentsi kasutamine Pythonis

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

Efektiivne enesereferentsi kasutamine Pythonis

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

Efektiivne enesereferentsi kasutamine Pythonis

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

Efektiivne iserférence kasutamine Pythoni keeles

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.