Maison >développement back-end >Tutoriel Python >Pourquoi les méthodes de liste sur place de Python ne renvoient-elles aucune ?

Pourquoi les méthodes de liste sur place de Python ne renvoient-elles aucune ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-28 22:22:16697parcourir

Why Do Python's In-Place List Methods Return None?

Pourquoi les méthodes de liste de mutation de Python ne renvoient-elles aucune ?

De nombreuses méthodes de liste Python, notamment l'ajout, le tri, l'extension, la suppression, l'effacement et inverse, renvoie Aucun après avoir modifié la liste. Ce choix de conception a suscité des questions sur sa justification et ses inconvénients potentiels.

Selon les principes de conception de Python, les fonctions qui mutent un objet sur place ne devraient renvoyer aucun. Cela souligne que l'opération est effectuée sur l'objet existant plutôt que d'en créer un nouveau.

Guido van Rossum, le créateur de Python, explique le raisonnement derrière cette décision :

  • Côté chaînage- les effets sur un seul objet sont déconseillés car ils peuvent rendre le code difficile à lire.
  • L'utilisation de None dans les instructions return permet de clarifier que ces méthodes ne modifient que l'objet d'origine. et ne produisent pas de nouvelle valeur.

Bien que certains puissent affirmer que cette conception empêche le « chaînage » du traitement des listes, Rossum estime qu'elle améliore la lisibilité du code et indique clairement que les opérations ultérieures sont appliquées à le même objet.

Il oppose cela aux opérations de chaînage qui renvoient de nouvelles valeurs, telles que les opérations de traitement de chaînes, qu'il considère appropriées pour chaînage.

En résumé, la décision de renvoyer None à partir des méthodes de liste de mutation de Python est basée sur le principe de conception consistant à faire la distinction entre les opérations qui modifient un objet sur place et celles qui renvoient une nouvelle valeur.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn