Lambda-Functies
Veeg om het menu te tonen
Lambda-functies zijn een kernfunctie van Python waarmee kleine, anonieme functies kunnen worden gemaakt met een beknopte syntaxis. Het belangrijkste doel van een lambda-functie is het definiëren van een functie in één regel, meestal voor korte, eenmalige toepassingen waarbij een volledige functiedefinitie met def onnodig omslachtig zou zijn.
Lambda-functies worden meestal gebruikt in combinatie met hogere-orde functies zoals map, filter en sorted, waarbij een functie als argument moet worden meegegeven maar het niet wenselijk is om elders in de code een volledige functie te definiëren.
Een lambda-functie kan een willekeurig aantal argumenten aannemen, maar mag slechts één enkele expressie bevatten. Het resultaat van deze expressie wordt automatisch geretourneerd. Hoewel lambda-functies handig zijn voor het snel maken van tijdelijke functies, hebben ze beperkingen: ze kunnen geen meerdere statements, toewijzingen of complexe logica bevatten en zijn minder leesbaar bij overmatig gebruik. Door deze beperkingen zijn lambda-functies geschikt voor eenvoudige taken en zijn reguliere functies te verkiezen voor complexere operaties.
123numbers = [1, 2, 3, 4, 5] squared = list(map(lambda x: x ** 2, numbers)) print(squared)
De bovenstaande code gebruikt een lambda-functie met de hogere-orde functie map om elk getal in de lijst numbers te kwadrateren. De lambda x: x ** 2 definieert een anonieme functie die één argument x neemt en het kwadraat ervan retourneert. Deze aanpak maakt het mogelijk om snel een eenvoudige bewerking toe te passen op elk element in een lijst zonder een aparte benoemde functie te definiëren, waardoor de code beknopter en gerichter blijft wanneer de functie slechts één keer nodig is.
123numbers = [1, 2, 3, 4, 5, 6] evens = list(filter(lambda x: x % 2 == 0, numbers)) print(evens)
Dit voorbeeld gebruikt een lambda-functie met filter om alleen de even getallen uit de lijst numbers te halen. Het gebruik van een lambda-functie maakt de filterlogica beknopt en leesbaar, vooral wanneer je slechts een eenvoudige controle wilt uitvoeren zonder een aparte benoemde functie te maken.
1. Wat is het belangrijkste verschil tussen een lambda-functie en een gewone functie?
2. Wanneer moet je een lambda-functie gebruiken in plaats van def?
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.