Softwarecursussen en Technologie

Softwareforum => Python => Topic gestart door: Murat op dec 22, 2025, 10:29 AM

Titel: Functies en Lambda-uitdrukkingen in Python: Gebruik en Beste Praktijken
Bericht door: Murat op dec 22, 2025, 10:29 AM
In Python zijn functies de basisbouwstenen die de herbruikbaarheid van code vergroten en het programma modulair maken. Dankzij functies kunt u dezelfde code niet steeds opnieuw schrijven, maar deze eenmalig definiëren en op meerdere plaatsen aanroepen. In dit artikel onderzoeken we het basisgebruik van Python-functies, parametertypes, return-statements en anonieme functies genaamd lambda-uitdrukkingen in detail.

Functie Definiëren en Aanroepen
Functies worden gedefinieerd met het sleutelwoord def:
def groet(naam):
    print(f"Hallo, {naam}!")

# Aanroepen
groet("Ahmet")  # Uitvoer: Hallo, Ahmet!

Functie zonder parameters:
def welkom():
    return "Welkom!"

print(welkom())  # Uitvoer: Welkom!

Parametertypes
Python biedt flexibele ondersteuning voor parameters:

Positionele Parameters
def optellen(a, b):
    return a + b

print(optellen(5, 3))  # 8

Standaard (Default) Parameters
def groet(naam="Gast"):
    print(f"Hallo, {naam}!")

groet()  # Hallo, Gast!
groet("Ayşe")  # Hallo, Ayşe!

Sleutelwoord (Keyword) Parameters
def stel_voor(naam, leeftijd, stad):
    print(f" {naam}, {leeftijd} jaar oud, woont in {stad}.")

stel_voor(stad="Istanbul", leeftijd=30, naam="Mehmet")

Variabel Aantal Parameters
• *args: Niet-geordend variabel aantal parameters
• **kwargs: In de vorm van sleutel-waardeparen
def som(*getallen):
    return sum(getallen)
print(som(1, 2, 3, 4, 5))  # 15

def info(**kwargs):
    for sleutel, waarde in kwargs.items():
        print(f" {sleutel}: {waarde}")
info(naam="Ali", leeftijd=25, beroep="Ingenieur")

Return Statement
Functies gebruiken return om waarden terug te geven. Als er geen return is, wordt None teruggegeven.
def kwadraat(getal):
    return getal ** 2
resultaat = kwadraat(4)
print(resultaat)  # 16

Meerdere waarden teruggeven (als tuple):
def deling_operatie(a, b):
    quotiënt = a // b
    rest = a % b
    return quotiënt, rest
quotiënt, rest = deling_operatie(10, 3)
print(quotiënt, rest)  # 3 1

Lambda-uitdrukkingen (Anonieme Functies)
Worden gebruikt voor korte, eenregelige functies. Vaak gebruikt in combinatie met functies zoals map(), filter(), sorted().

Basis syntaxis:
lambda parameters: expressie
Voorbeeld:
kwadraat = lambda x: x ** 2
print(kwadraat(5))  # 25

# Lijstelementen verdubbelen
getallen = [1, 2, 3, 4]
verdubbeld = list(map(lambda x: x * 2, getallen))
print(verdubbeld)  # [2, 4, 6, 8]

# Even getallen filteren
even = list(filter(lambda x: x % 2 == 0, getallen))
print(even)  # [2, 4]

Sorteervoorbeeld:
studenten = [("Ahmet", 85), ("Ayşe", 92), ("Mehmet", 78)]
gesorteerd = sorted(studenten, key=lambda student: student[1], reverse=True)
print(gesorteerd)  # [('Ayşe', 92), ('Ahmet', 85), ('Mehmet', 78)]

Beste Praktijken
• Schrijf functienamen in kleine letters met underscores (bereken_som).
• Functies moeten één taak uitvoeren (Single Responsibility).
• Voeg docstrings toe:
def optellen(a, b):
    """
    Telt twee getallen op en geeft het resultaat terug.

    Args:
        a (int/float): Eerste getal
        b (int/float): Tweede getal

    Returns:
        int/float: Som
    """
    return a + b


• Scheid functies in modules voor grote projecten.

Conclusie
Python-functies en lambda-uitdrukkingen zijn de sleutel tot het schrijven van schone en effectieve code.

Begin met eenvoudige functies, en gebruik geleidelijk geavanceerde functies zoals *args, **kwargs en lambda. Probeer voor oefening een rekenmachine-applicatie te schrijven!
Ik wacht op je vragen in de comments.