Ce n'pythonic veux dire?
Sur de nombreux sites, je vois souvent des commentaires de ce code n'est pas pythonic, ou qu'il est plus pythonic manière à atteindre le même objectif.
Ce n'pythonic signifie dans ce contexte? Par exemple, pourquoi est -
while i < someValue:
do_something(list[i])
i += 1
pas pythonic tout
for x in list:
doSomething(x)
est pythonic?
- Le Zen de Python, qu'est-Ce que Pythonic, etc...
- C'est un hors sujet question. Vous pourriez avoir donné un petit exemple de code pour le rendre plus sur le sujet.
- essayez: "importer"
Vous devez vous connecter pour publier un commentaire.
Exploiter les caractéristiques du langage Python pour produire du code qui est clair, concis et facile à entretenir.
Pythonic signifie que le code qui ne sont pas simplement la syntaxe droit, mais qui suit les conventions de la communauté Python et utilise la langue dans la façon dont il est destiné à être utilisé.
C'est peut-être plus facile d'expliquer par l'exemple négatif, comme dans l'article lié à partir d'autres réponses. Exemples de unpythonic code viennent souvent des utilisateurs d'autres langues, qui, au lieu de l'apprentissage d'une programmation Python les motifs tels que des interprétations de la liste ou du générateur d'expressions, de tenter de pied de biche dans les modèles les plus couramment utilisés dans le C ou le java. Les boucles sont particulièrement fréquents exemples.
Par exemple en Java je pourrais utiliser
En Python que nous pouvons tenter de reproduire cette utilisation des boucles while, mais il serait plus propre d'utiliser
Ou même un générateur d'expression
Donc, essentiellement, quand quelqu'un dit quelque chose est unpythonic, ils disent que le code puisse être ré-écrit dans une manière qui est un meilleur ajustement pour les pythons style de codage.
Tapant
import this
à la ligne de commande donne un résumé de Python principes. Moins connu est que le code source deimport this
est décidément à la, et de par leur conception, unpythonic! Prendre un coup d'oeil pour un exemple de ce que ne pas le faire.