När du skapar ett objekt från en klass används en speciell metod som heter __init__() för att automatiskt köra kod som sätter upp objektet. Det kallas ofta för konstruktorn.

Den körs varje gång ett nytt objekt skapas från klassen – och används oftast för att ge objektet startvärden, till exempel namn, ålder eller färg.

Exempel: En klass med __init__()

class Dog:
    def __init__(self, name, age):
        self.name = name
        self.age = age
  • __init__() är en metod (en funktion som tillhör klassen).
  • self är en referens till det aktuella objektet. Vi måste alltid ha med det som första parameter.
  • name och age är parametrar – de används tillfälligt för att ta emot värden när objektet skapas.
  • self.name och self.age är attribut – de sparar värden i objektet så att de kan användas senare.

Sammanfattat:

  • Parametrarna name och age är tillfälliga ingångar.
  • Attributen self.name och self.age är data som sparas i objektet.

Skapa ett objekt med värden

my_dog = Dog("Buddy", 3)

print(my_dog.name)  # Skriver ut: Buddy
print(my_dog.age)   # Skriver ut: 3

Nu har vi ett objekt my_dog med egenskaperna name och age. Dessa värden sparades i objektet tack vare self.name = name och self.age = age.

Vad betyder self?

self används inom klassens metoder för att komma åt objektets egna variabler och metoder. Varje gång du skriver self.name menar du ”det här objektets name”.

Det är så Python håller isär olika objekt som alla har sina egna värden.

Sammanfattning

TermFörklaring
__init__()Metod som körs automatiskt när objekt skapas. Kallas konstruktor.
selfReferens till det objekt som skapas eller används. Behövs i alla metoder.
self.attributSkapar ett värde som hör till det specifika objektet.