Vad är __init__()?
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.nameochageär parametrar – de används tillfälligt för att ta emot värden när objektet skapas.self.nameochself.ageär attribut – de sparar värden i objektet så att de kan användas senare.
Sammanfattat:
- Parametrarna
nameochageär tillfälliga ingångar. - Attributen
self.nameochself.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: 3Nu 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
| Term | Förklaring |
|---|---|
__init__() | Metod som körs automatiskt när objekt skapas. Kallas konstruktor. |
self | Referens till det objekt som skapas eller används. Behövs i alla metoder. |
self.attribut | Skapar ett värde som hör till det specifika objektet. |