Python Academy · Les

Klassen en de methode __init__

Definieer klassen, maak objecten en initialiseer attributen.

Les 1 van 413 stappen

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)   # Fido

self 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)  # 1

Meerdere 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 5

Standaardwaarden 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 5

Instantiemethoden

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())  # 20

Attributen 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 None

Het 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))  # True

Het 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"))  # False

Korte 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.

Gratis beginnen

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

  1. Klassen en de methode __init__
  2. Instantie- versus klasseattributen
  3. Instantiemethoden en self
  4. Magic methods: __str__ en __repr__
← Terug naar Python Academy