I objektorienteret programmering spiller referencen til det aktuelle objekt, ofte betegnet som self, en afgørende rolle. Du vil lære, hvordan du effektivt kan bruge denne self-referens til at håndtere interaktionen med klasser og objekter i Python.

Vigtigste indsigter

  • Self-referensen (self) er en konvention i Python, der giver dig mulighed for at få adgang til egenskaberne og metoderne for det aktuelle objekt.
  • self bruges som den første parameter i instansmetoder og refererer til det specifikke objekt, hvor metoden blev kaldt.
  • Du kan tilgå objekter fra klassemæssige metoder ved at videregive objektet som parameter.

Undersøg self-referensen

For fuldt ud at forstå betydningen af self, lad os se på et enkelt eksempel. Antag, at du har en klasse Person.

Effektiv brug af selv-referencen i Python

Når du opretter en instans af denne klasse, bliver der reserveret hukommelse, og objektet er klart til brug. Her refererer den variabel, du bruger til at instantiere, til det tilhørende hukommelsesområde.

Det særlige er: Når du ønsker at få adgang til egenskaberne eller metoderne inden for klassen, har du brug for adgang til det aktuelle objekt. Da du ikke ved, hvad objektet senere vil blive kaldt, når du definerer klassen, er self måden at få adgang til denne reference.

Når du for eksempel bruger self.name, kan du få adgang til navnet på personen, der er gemt i initializatoren.

Et praktisk eksempel – Klassed Auto

Lad os nu bygge et praktisk eksempel. Vi opretter en klasse Auto, der har en mærke og en initialisator.

Effektiv brug af selvreferencer i Python

I initializatoren bruges parameteren mærke til at indstille bilens mærke. Her kommer self ind i billedet. Det bruges i metoden til at tildele den videregivne værdi til instansvariablen.

Effektiv brug af self-referencer i Python

Nu kan du oprette en metode get_mærke, der giver dig mulighed for at få adgang til bilens mærke. Parameteren self videregives automatisk, når metoden kaldes.

Effektiv brug af selvreferencer i Python

Når du nu opretter et objekt af klassen Auto, lad os sige tesla, og får adgang til metoden get_mærke, vil self referere til det specifikke objekt, altså tesla.

Effektiv brug af selvreferencen i Python

Dette betyder, at du kan forvente, at metoden get_mærke returnerer den værdi, der tidligere blev indstillet.

Effektiv brug af selvreferencer i Python

Du kan også kalde metoden direkte via klassen ved at videregive objektet. Dette gør man ikke ofte, men det er nyttigt for forståelsen af, hvordan self fungerer.

Effektiv brug af self-referencer i Python

Det er vigtigt at bemærke, at standardmetoden er at kalde metoden via objektet i stedet for via klassen.

Opsummering – Mestring af self-referens i Python

Self-referensen er et grundlæggende koncept i objektorienteret programmering med Python. Det giver dig nem adgang til egenskaberne og metoderne for dit objekt, både inden for og uden for funktioner og metoder. Når du mestrer brugen af self i dine klasser, vil du være i stand til at skrive klarere, mere funktionelle og mere vedligeholdelsesvenlige klasser både i dine egne projekter og i rammerne af fælles teamprojekter.

Ofte stillede spørgsmål

Hvad er self i Python?self er den første parameter i instansmetoder og refererer til det aktuelle objekt.

Hvorfor er self vigtigt?self giver adgang til egenskaberne og metoderne for det aktuelle objekt.

Kan jeg bruge self i en klassemethode?Ja, men det er mere almindeligt at kalde metoden via objektet.

Hvordan videregives self?self videregives automatisk som den første parameter til instansmetoder.

Hvad sker der, hvis jeg glemmer self i en metode?Hvis du glemmer self, kan du ikke få adgang til instansvariablerne eller -metoderne.