J'utilise principalement des fonctions lambda mais parfois des fonctions imbriquées qui semblent fournir le même comportement.
Voici quelques exemples triviaux où ils font fonctionnellement la même chose si l'un ou l'autre se trouvait dans une autre fonction :
Fonction lambda
>>> a = lambda x : 1 + x
>>> a(5)
6
Fonction imbriquée
>>> def b(x): return 1 + x
>>> b(5)
6
Y a-t-il des avantages à utiliser l'un plutôt que l'autre ? (Performances ? Lisibilité ? Limites ? Cohérence ? etc.)
Est-ce que cela a de l'importance ? Si ce n'est pas le cas, cela viole-t-il le principe de Python ?
Il devrait y avoir une - et de préférence une seule - manière évidente de le faire. .