Otevře se na nové kartě

ESP32 / ESP8266 MicroPython: Lambda výrazy

Níže uvedený článek je článek přeložený ze stránek dfrobot.com.

Cílem tohoto návodu je ukázat, jak lze používat lambda výrazy a jaká je jejich výhoda oproti obvyklým funkcím. Lambda výrazy jsou běžnou praxí ve spoustě programovacích jazyků. Jejich výhodou je jejich definice přímo na místě, kde je chceme použít. Není tedy nutné definovat funkci někde mimo náš výkonný kód pomocí def.

Všechny články o MicroPython a ESP32/ESP8266 najdete na https://chiptron.cz/articles.php?cat_id=23

O lambdách:

Takto vypadá obecný zápis lambda výrazu, kde args reprezentuje vstupní proměnné a expression samotný výpočet výsledku. Je možné si také všimnout povinného slova lambda a dvojtečky.

lambda args: expression

V případě více vstupních proměnných je oddělíme čárkami. Nikdy je ale neuzavírejte do závorek. Další důležitou poznámkou je, že lambdy neobsahují klíčové slovo return, ale pouze výraz, pomocí kterého je možné dojít k výsledku.

Ukázka kódu:

Jako ukázku si vytvoříme výraz, který sečte dvě vstupní proměnné a vrátí výsledek. Nejprve si ukážeme, jak by se tato funkce udělala pomocí klasické funkce.
def sum(x,y):

return (x+y)

 

result = sum (4,5)

print(result)

Terminál MicroPythonu ukazuje definici funkce sum a výsledek 9

Obrázek 1 – Použití klasické funkce

Stejnou funkci je možné dosáhnout následujícím lambda výrazem (všimněte si oddělení vstupních parametrů čárkou):
sumLambda = lambda x,y: x+y

Nyní tento výraz zavoláme a podíváme se na výsledek.
result = sumLambda(4,5)

print(result)

V této ukázce jsme si uložili náš lambda výraz do proměnné sumLambda. Oproti klasické funkci má tento přístup nevýhodu ve snadném přepsání této proměnné jinou částí kódu a ztrátě naší funkce. Obvykle se lambdy nepřiřazují do proměnné, ale používají se přímo jako parametry některé z funkcí (např. filter, map, reduce…).

Ukázka lambda výrazu v MicroPythonu v konzoli, součet 4 a 5 dává 9

Obrázek 2 – Použití lambda výrazu

Hlavní výhodou lambda výrazů je jejich přehlednost v kódu. Jsou obvykle definovány až v okamžiku, kdy jsou potřeba.

Sdílejte článek:
Tričko Chiptron s potiskem Trust me, I'm a maker
Ukaž světu,
že jsi Maker!
Koupit tričko
Kafe pro Chiptrona
Dodej energii dalšímu článku
Buy Me a Coffee

Související články

Ukázka kódu MicroPythonu filtrujícího čísla větší než pět v seznamu

Cílem tohoto návodu je ukázat, jak lze používat filtry na seznamy.

Deska OctopusLAB s ESP32, připojeným sedmisegmentovým displejem a barevnými vodiči

V Octopus LAB (sledujte nás na FB) jsme se poslední dobou hodně soustředili na ESP32 ve spojení s Micropythonem.

Různé vývojové desky s čipy ESP32 – srovnání variant

ESP32, S2, S3, C3, C6, H2, C5, P4 i chystaný S31 – který čip vybrat pro váš projekt? Srovnávací tabulka periferií, rozhodovací strom podle use-case, přehled softwarových platforem a tipy, kde koupit vývojové desky v Česku.

Terminál PuTTY zobrazuje v MicroPythonu načtení JSONu a výpis slovníku se jménem John

Níže uvedený článek je článek přeložený ze stránek dfrobot.

Příkazový řádek Windows zobrazuje instalaci nástroje adafruit-ampy pomocí pip

Níže uvedený článek je článek přeložený ze stránek dfrobot.

Schéma nahrávání MicroPythonu do ESP32 přes esptool, PuTTY a Octopus()

Toto je první díl ze tří – úvodního kurzu Micropython na ESP32.

Trendy