I den objektorienterte programmering spiller referansen til det nåværende objektet, ofte omtalt som self, en avgjørende rolle. Du vil lære hvordan du kan bruke denne self-referansen effektivt for å håndtere interaksjonen med klasser og objekter i Python.

Viktigste innsikter

  • Self-referansen (self) er en konvensjon i Python som lar deg få tilgang til egenskapene og metodene til det nåværende objektet.
  • self brukes som første parameter i instansmetoder og refererer til det spesifikke objektet hvor metoden ble kalt.
  • Du kan få tilgang til objekter fra klassemendter ved å sende objektet som parameter.

Undersøke self-referansen

For å fullt ut forstå betydningen av self, la oss se på et enkelt eksempel. Anta at du har en klasse Person.

Effektiv bruk av self-referanse i Python

Når du oppretter en instans av denne klassen, vil minne bli reservert, og objektet er klart til bruk. Her refererer variabelen du bruker til instansiering til det tilknyttede minneområdet.

Det spesielle er: Når du vil få tilgang til egenskapene eller metodene innenfor klassen, trenger du tilgang til det nåværende objektet. Siden du ikke vet hva objektet senere vil bli kalt når du definerer klassen, er self veien til å få tilgang til denne referansen.

Så hvis du bruker self.name, kan du få tilgang til navnet på personen som ble lagret i initializeren.

Et praktisk eksempel – Klassen Bil

Nå la oss lage et praktisk eksempel. Vi oppretter en klasse Bil, som har et merkenavn og en initialiserer.

Effektiv bruk av selv-referanse i Python

I initializeren brukes parameteren merkenavn for å sette merket på bilen. Her kommer self inn i bildet. Det brukes i metoden for å tildele den sendte verdien til instansvariabelen.

Effektiv bruk av selvreferanse i Python

Nå kan du lage en metode get_merke, som lar deg få tilgang til bilens merke. Parameteren self blir automatisk sendt når metoden kalles.

Effektiv bruk av selvreferanse i Python

Når du nå oppretter et objekt av klassen Bil, la oss si tesla, og får tilgang til metoden get_merke, vil self referere til det spesifikke objektet, altså tesla.

Effektiv bruk av selvreferanse i Python

Dette betyr at du kan forvente at metoden get_merke returnerer verdien som tidligere ble satt.

Effektiv bruk av selvreferanse i Python

Du kan også kalle metoden direkte over klassen ved å sende objektet. Dette blir ikke ofte gjort, men det er nyttig for å forstå hvordan self fungerer.

Effektiv bruk av selvreferanse i Python

Det er viktig å merke seg at standardmetoden er å kalle metoden via objektet, i stedet for via klassen.

Sammendrag – Mester self-referansen i Python

Self-referansen er et grunnleggende konsept i objektorientert programmering med Python. Den lar deg få enkel tilgang til egenskapene og metodene til objektet ditt, både innenfor og utenfor funksjoner og metoder. Når du mestrer bruken av self i klassene dine, vil du være i stand til å skrive klarere, mer funksjonelle og vedlikeholdsvennlige klasser, både i egne prosjekter og i samarbeidsprosjekter med teamet.

Ofte stilte spørsmål

Hva er self i Python?self er den første parameteren i instansmetoder og refererer til det nåværende objektet.

Hvorfor er self viktig?self muliggjør tilgang til egenskapene og metodene til det nåværende objektet.

Kan jeg bruke self i en klassemethode?Ja, men det er mer vanlig å kalle metoden via objektet.

Hvordan blir self sendt?self blir automatisk sendt som første parameter til instansmetoder.

Hva skjer hvis jeg glemmer self i en metode?Hvis du glemmer self, kan du ikke få tilgang til instansvariablene eller -metodene.