Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Python

Python lambda-functies beheersen: praktische voorbeelden & best practices

Lambda-functies, vaak anonieme functies genoemd, laten je kleine, eenmalige routines in één regel schrijven. Ze zijn handig in functionele code, vooral in combinatie met map, filter en reduce.

Wat is een lambda-functie?

Een lambda is een functie gedefinieerd met het sleutelwoord lambda in plaats van def. Het neemt nul of meer parameters en geeft de waarde van één enkele expressie terug. Omdat de body een expressie is, kan een lambda geen statements of meerdere regels bevatten.

Elke lambda heeft drie essentiële onderdelen:

  • Het lambda sleutelwoord.
  • Eén of meer parameters (gescheiden door komma's).
  • Een enkele expressie die de return-waarde produceert.

Bijvoorbeeld: lambda x, y: x + y telt twee getallen op. Hoewel anoniem, kan de lambda aan een variabele worden toegewezen, doorgegeven aan een andere functie, of direct worden aangeroepen.

Hoe een lambda te schrijven

Formele syntaxis:

lambda p1, p2, ... : expressie

Let op het ontbreken van haakjes rond de parameters. De expressie mag elke geldige Python-operatie gebruiken.

Voorbeeld 1: Eenvoudige opteller

opteller = lambda x, y: x + y
print(opteller(1, 2))  # → 3

Voorbeeld 2: Een lambda-object inspecteren

tekst = 'een soort nutteloze lambda'
print(lambda tekst: print(tekst))  # → <function <lambda> at 0x...>

Hier wordt de lambda nooit aangeroepen; de print toont het functie-object dat de lambda retourneert.

Voorbeeld 3: Direct aangeroepen lambda (IIFE)

(lambda x: print(x))('IIFE in actie')  # → IIFE in actie

Door de definitie in haakjes te plaatsen en er haakjes achter te zetten, roep je de lambda direct aan.

Voorbeeld 4: Lambdas vs. reguliere functies

# Reguliere functie
def printer(arg):
    return print(arg)

# Lambda die de functie aanroept
guru(lambda: printer('Lambda-aanroep'))  # → Lambda-aanroep

Beide snippets produceren dezelfde output, maar de lambda-versie is beknopter wanneer je slechts een eenmalige aanroep nodig hebt.

Lambdas gebruiken met ingebouwde functies

Lambdas schitteren wanneer ze als callbacks worden doorgegeven aan hogere-orde functies. Hieronder veelvoorkomende patronen.

Direct aangeroepen functie-expressie (IIFE) in Python

(lambda x: x + x)(2)  # → 4

Filter

De filter-functie houdt elementen die voldoen aan een predicate.

reeksen = [10, 2, 8, 7, 5, 4, 3, 11, 0, 1]
gefilterd = filter(lambda x: x > 4, reeksen)
print(list(gefilterd))  # → [10, 8, 7, 5, 11]

Map

De map-functie transformeert elk element.

reeksen = [10, 2, 8, 7, 5, 4, 3, 11, 0, 1]
gekwadraat = map(lambda x: x * x, reeksen)
print(list(gekwadraat))  # → [100, 4, 64, 49, 25, 16, 9, 121, 0, 1]

Reduce

Gebruik reduce om een enkele waarde op te bouwen uit een reeks.

from functools import reduce
reeksen = [1, 2, 3, 4, 5]
product = reduce(lambda x, y: x * y, reeksen)
print(product)  # → 120

Wanneer lambdas wel/niet gebruiken

Lambdas zijn ideaal voor beknopte, eenmalige operaties die in één expressie passen. Ze komen veel voor in functionele programmeerconstructies zoals map en filter.

Vermijd echter te complexe lambdas in productiecode. Lange, onleesbare one-liners bemoeilijken onderhoudbaarheid. In dergelijke gevallen is een benoemde functie met een duidelijke docstring te verkiezen.

Lambdas vs. reguliere functies

KenmerkLambdaReguliere functie
Syntaxislambda x: x + xdef optellen(x): return x + x
BodyEnkelvoudige expressieMeerdere statements toegestaan
NaamgevingAnoniem (geen identifier)Moet een naam hebben
ReturnImpliciet vanuit expressieExpliciet met return
GebruikKorte, eenmalige logicaHerbruikbare, complexe logica

Conclusie

  • Gebruik lambdas voor compacte, single-expression functies.
  • Kies benoemde functies wanneer de logica complex of herbruikbaar is.
  • Houd code leesbaar; eenvoud wint van slimheid.

Python

  1. C++ Operator Overloading – Praktische Handleiding met Code‑Voorbeelden
  2. C++ Functies Uitgelegd met Praktische Codevoorbeelden
  3. Python Functie-argumenten onder de knie krijgen: Positionele, Keyword en Default Parameters
  4. Python Lambda Functies: Een praktische gids voor anonieme functies
  5. Python-closures uitgelegd: hoe geneste functies variabelen vangen
  6. Python print()-functie: Praktische handleiding met voorbeelden
  7. Python's strip()-methode beheersen: Uitgebreide handleiding & praktische voorbeelden
  8. Python's str.count() beheersen: Karakters & substrings tellen met voorbeelden
  9. Python `format()` strings beheersen met duidelijke voorbeelden
  10. Python's String.find()-methode beheersen: Syntaxis, voorbeelden & alternatieven
  11. Python abs()-functie: absolute waarden berekenen voor getallen & complexe getallen