Maison >développement back-end >Tutoriel Python >Nommer des Lambdas en Python est-il considéré comme pythonique ?
En Python, les expressions lambda sont conçues pour être des fonctions anonymes. Cependant, certains développeurs trouvent utile de nommer des lambdas dans les fonctions pour la réutilisation du code et des fonctionnalités spécifiques. Cependant, cette pratique soulève la question : est-elle conforme aux principes Pythoniques ?
Selon PEP8, le guide de style Python, nommer des lambdas est déconseillé. Au lieu de cela, il recommande d'utiliser les instructions def pour définir des fonctions avec des noms spécifiques. Cela garantit la clarté, simplifie les traçages et élimine tout avantage lié à l'utilisation d'expressions lambda.
La caractéristique déterminante d'une expression lambda est son anonymat. En le nommant, vous supprimez effectivement cet anonymat. De plus, si la fonctionnalité est spécifique à la fonction dans laquelle elle apparaît, il n’est peut-être pas nécessaire de définir une fonction distincte. Envisagez plutôt d'utiliser une fonction imbriquée.
Par exemple, dans l'extrait de code donné :
def fcn_operating_on_arrays(array0, array1): indexer = lambda a0, a1, idx: a0[idx] + a1[idx] # codecodecode indexed = indexer(array0, array1, indices) # codecodecode in which other arrays are created and require `indexer` return the_answer
Plutôt que de nommer l'indexeur d'expression lambda, il pourrait être défini à l'aide d'une fonction imbriquée :
def fcn_operating_on_arrays(array0, array1): def indexer(a0, a1, idx): return a0[idx] + a1[idx] # codecodecode indexed = indexer(array0, array1, indices) # codecodecode in which other arrays are created and require `indexer` return the_answer
En utilisant une fonction imbriquée, la fonctionnalité reste spécifique à la fonction externe, fournit une fonction nommée et adhère à Pythonic principes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!