3 ms·
Two possible issues. As tmhedberg says (more or less), they're second-class citizens: they may contain one expression, and cannot contain any statements (e.g.,
by kwantam 15y ago
Two possible issues. As tmhedberg says (more or less), they're second-class citizens: they may contain one expression, and cannot contain any statements (e.g., 'print').
A more important issue: in LISP, ML, and other languages with a "proper" lambda, the value of a lambda expression is a lexical closure. Python's lambdas are dynamically scoped, which certainly qualifies as broken.
See, e.g., http://math.andrej.com/2009/04/09/pythons-lambda-is-broken/ http://math.andrej.com/2009/04/09/pythons-lambda-is-broken/