Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Lambda-Functies | Recursie en Lambda-Functies
Python Functies Tutorial
Sectie 5. Hoofdstuk 4
single

single

bookLambda-Functies

Veeg om het menu te tonen

Lambda-functies zijn anonieme functies, wat betekent dat ze geen naam hebben. Ze worden aangemaakt met het sleutelwoord lambda en worden vaak gebruikt om korte functies te definiëren waarbij je direct een functie kunt specificeren.

De basis-syntaxis van een lambda-functie is als volgt:

lambda arguments: expression
  • lambda: het sleutelwoord dat het begin van een lambda-functiedefinitie aangeeft;
  • arguments: de lijst met argumenten die de functie accepteert;
  • expression: de expressie die wordt uitgevoerd wanneer de functie wordt aangeroepen. Het resultaat van de expressie wordt als waarde van de functie geretourneerd.

Het belangrijkste kenmerk van lambda-functies is hun beknopte syntaxis. Ze zijn handig wanneer je een eenvoudige functie wilt definiëren zonder veel code te schrijven.

Enkele en Meerdere Argumenten

Een lambda-functie kan één of meer argumenten accepteren:

1234567
# Single argument square = lambda x: x**2 print(square(5)) # 25 # Multiple arguments add = lambda x, y: x + y print(add(3, 5)) # 8
copy

Voorwaardelijke logica in lambda-functies

Een ternaire expressie gebruiken om voorwaardelijke logica toe te voegen binnen een lambda:

123
is_even = lambda x: "even" if x % 2 == 0 else "odd" print(is_even(4)) # "even" print(is_even(7)) # "odd"
copy

Lambda gebruiken met ingebouwde functies

Een veelvoorkomend gebruik is het combineren van lambda-functies met ingebouwde functies zoals map() en filter():

123456789
prices = [100, 200, 300] # Apply 10% discount to each price discounted = list(map(lambda price: price * 0.9, prices)) print(discounted) # [90.0, 180.0, 270.0] # Keep only prices above 150 expensive = list(filter(lambda price: price > 150, prices)) print(expensive) # [200, 300]
copy

Je kunt ook max() gebruiken binnen een lambda om randgevallen direct binnen de expressie af te handelen:

123
safe_value = lambda x: max(x, 0) # Returns 0 if x is negative print(safe_value(-5)) # 0 print(safe_value(10)) # 10
copy
lambda
Note
Opmerking

Lambda-functies zijn het meest geschikt voor korte, enkelvoudige expressielogica. Als je functie meerdere regels of complexe logica vereist, is een reguliere def-functie een betere keuze.

Taak

Veeg om te beginnen met coderen

Er is een lijst met prijzen (prices), en er moet een lambda-expressie worden geïmplementeerd die een prijs als parameter neemt en 13% belasting aftrekt.

  1. Definieer een lambda-expressie met behulp van het trefwoord lambda.
  2. De lambda-expressie moet één parameter (price) accepteren.
  3. Als de price negatief is, wordt deze als ongeldig beschouwd en moet er 0 worden geretourneerd met behulp van de functie max() direct binnen de lambda-expressie.
  4. De lambda moet eerst de prijs controleren en vervolgens 13% aftrekken van het geldige bedrag.
  5. Gebruik een list comprehension om apply_tax toe te passen op elk element in prices.

Oplossing

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 5. Hoofdstuk 4
single

single

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

some-alt