Ce poate face `match`/`case` și un lanț de `if`/`elif` nu poate în Python


Potrivirea structurală de tipare din Python, explicată: ce fac match și case și un lanț if/elif nu poate, adică testarea formei unei valori și destructurarea ei într-un singur pas. Acoperă cele cinci feluri de tipare — literal, de capturare, de secvență, de mapare și de clasă — de ce tiparele de secvență nu se potrivesc niciodată cu str sau bytes, de ce tiparele de mapare se potrivesc cu o submulțime de chei, cum combină tiparele de clasă o verificare isinstance cu potrivirea de atribute și cum match_args de la o dataclass permite subtipare poziționale. Explică gărzile evaluate după legare, ordinea cazurilor în care prima potrivire câștigă și regula capturare-față-de-valoare, care face un nume simplu să se potrivească cu orice și să relege constanta pe care voiai să o compari, cu un membru de enumerare cu punct drept corectură. Include cod rulabil și ieșire reală pentru dispecerizarea tuplurilor de evenimente, potrivirea evenimentelor dataclass cu gărzi și capcana capturării tăcute.

Комментарии

Комментариев пока нет. Будьте первым, кто поделится своим мнением.
Средний
0,0 (0)

Автор

Software engineer and the creator of the Bytestark learning platform