superman > Roman Miklóš > > V trede Statické metody v Pythonu > > (http://www.py.cz/pipermail/python/2006-November/004991.html) > > superman napisal: > > > ... map,filter a podobné (což prý v další verzi Pythonu nebude... > > [...] Zajímavý je blog Rossuma: > http://www.artima.com/weblogs/viewpost.jsp?thread=98196 > > Nedávno jsem od něj četl, že v Pythonu není podmíněné přiřazení, > ani přiřazení není výrazem, neboť by to příliš připomínalo C. Teď > píše, že lambda příliš připomíná Lisp, nebo Scheme, tudíž musí ven. > Já bych doporučoval vůbec s tímto příastupem škrtnout celý Python, > protože až příliš připomíná programovací jazyk.
O osudu lambda se diskutovalo na comp.lang.python. Osobně jsem lambda nikdy nepotřeboval. Jakékoliv jeho použití v Pythonu se podle mě dá jednoduše přepsat bez lambda způsobem, který je proti lambda přehlednější a srozumitelnější. Přiřazení jako výraz působí komplikace protože se v boolovských výrazech může poplést == s =. Podmíněný výraz je novinkou v Python 2.5. Python je procedurální a nikoliv funkcionální jazyk. Z funkcionálních zápisů v něm fungují jen ty věci, které se dají JEDNODUŠE převést na procedurální postup. Jiné výhody funkcionálních jazyků zde odpadají (například automatická paralelizace výpočtu). Z "The Zen of Python, by Tim Peters" bych k tomu vybral... Simple is better than complex. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. There should be one-- and preferably only one --obvious way to do it. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. Navrhuji rozebrat několik případů, kde se používají lambda, map, filter, reduce a pohádat se o alternativním zápisu jinými prostředky jazyka Python ;-) pepr _______________________________________________ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python
