Klassen en de methode __init__
Definieer klassen, maak objecten en initialiseer attributen.
Klassen en de methode __init__ is een gratis Python Academy-les op CoddyKit. Dit is les 1 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Python Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Python Academy bevat in totaal 4 lessen.
Een klasse definiëren
Gebruik het sleutelwoord class om een klasse te definiëren. Volgens afspraak gebruiken klassennamen CapWords.
class Dog:
pass
fido = Dog()
print(type(fido)) # <class '__main__.Dog'>De methode __init__
__init__ wordt automatisch aangeroepen wanneer een object wordt aangemaakt. Gebruik deze methode om instantieattributen in te stellen.
class Dog:
def __init__(self, name, breed):
self.name = name
self.breed = breed
fido = Dog("Fido", "Labrador")
print(fido.name) # Fidoself uitgelegd
self verwijst naar de huidige instantie. Het moet de eerste parameter zijn van elke instantiemethode. Python geeft het automatisch door.
class Counter:
def __init__(self):
self.count = 0
def increment(self):
self.count += 1
c = Counter()
c.increment()
print(c.count) # 1Meerdere instanties
Elke instantie heeft een eigen kopie van de instantieattributen die in __init__ zijn ingesteld.
class Point:
def __init__(self, x, y):
self.x = x
self.y = y
p1 = Point(1, 2)
p2 = Point(5, 7)
print(p1.x, p2.x) # 1 5Standaardwaarden voor parameters in __init__
Geef parameters van __init__ standaardwaarden om sommige argumenten optioneel te maken.
class Circle:
def __init__(self, radius=1.0):
self.radius = radius
c1 = Circle()
c2 = Circle(5)
print(c1.radius, c2.radius) # 1.0 5Instantiemethoden
Methoden die binnen een klasse zijn gedefinieerd, werken via self op de instantie.
class Rectangle:
def __init__(self, w, h):
self.w = w
self.h = h
def area(self):
return self.w * self.h
r = Rectangle(4, 5)
print(r.area()) # 20Attributen toevoegen na het aanmaken
Je kunt na het aanmaken attributen aan een instantie toevoegen, maar het is overzichtelijker om ze allemaal in __init__ te declareren.
class Person:
def __init__(self, name):
self.name = name
p = Person("Alice")
p.age = 30 # added after creation
print(p.name, p.age)De retourwaarde van __init__
__init__ moet None retourneren. Als je iets anders retourneert, ontstaat er een TypeError.
class Broken:
def __init__(self):
return 42 # TypeError!
# Correct
class OK:
def __init__(self):
self.value = 42
# implicit return NoneHet instantietype controleren
Gebruik isinstance() om te controleren of een object een instantie van een klasse is.
class Animal:
pass
class Dog(Animal):
pass
d = Dog()
print(isinstance(d, Dog)) # True
print(isinstance(d, Animal)) # TrueHet attribuut __dict__
Elke instantie slaat zijn attributen op in een woordenboek met de naam __dict__.
class Book:
def __init__(self, title, pages):
self.title = title
self.pages = pages
b = Book("Python 101", 300)
print(b.__dict__) # {'title': 'Python 101', 'pages': 300}Attributen verwijderen
Gebruik del om tijdens runtime een attribuut uit een instantie te verwijderen.
class Config:
def __init__(self):
self.debug = True
self.version = "1.0"
cfg = Config()
del cfg.debug
print(hasattr(cfg, "debug")) # FalseKorte controle
Wat is het doel van self in Python-klassenmethoden?
Samenvatting
Klassen zijn blauwdrukken voor objecten. __init__ initialiseert instantieattributen, self verwijst naar het huidige object en elke instantie heeft een eigen attribuutwoordenboek.
Leer Python met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 76
- Lessen
- 320
Veelgestelde vragen
Is de les “Klassen en de methode __init__” gratis?
Ja — de volledige tekst van “Klassen en de methode __init__” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Python Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Python Academy bevat in totaal 4 lessen.
Wat leer ik in “Klassen en de methode __init__”?
Definieer klassen, maak objecten en initialiseer attributen. Je oefent met Python Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Python Academy te beginnen?
Ervaring vooraf is niet nodig. Python Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 4.
Hoe lang duurt de les “Klassen en de methode __init__”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Python Academy?
Ja. Elke les over Python Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Klassen en de methode __init__
- Instantie- versus klasseattributen
- Instantiemethoden en self
- Magic methods: __str__ en __repr__