Python >> Tutoriel Python >  >> Python

Qu'est-ce que le Zen de Python ?

Avez-vous entendu parler du Zen de Python ? Ce sont les principes directeurs que tout programmeur Python devrait connaître ; ils sont aussi concis et beaux que Python lui-même. Explorons ces principes ensemble.

Le Zen de Python est une collection de 19 principes directeurs qui influencent la conception de Python. Les principes ont été écrits par l'ingénieur logiciel Tim Peters; il voulait que Guido van Rossum, le créateur de Python, ajoute un 20e principe. Cependant, cela ne s'est jamais produit, donc le nombre actuel est de 19. Même ainsi, cet ensemble de principes est également appelé PEP-20.

Les PEP (Python Enhancement Proposals) sont des documents fournissant des informations importantes à la communauté Python, ou décrivant une nouvelle fonctionnalité pour Python. Dans le cas de PEP-20, il s'agit simplement d'une liste de ces 19 principes. L'inclusion de ces directives aux PEP les reconnaît comme une partie importante de la culture Python, quelque chose dont chaque programmeur Python devrait être conscient.

Trouver le Zen de Python en Python

Pour afficher Le Zen de Python, exécutez la commande suivante dans l'interpréteur Python :

>>> import this

PEP 20 – Le zen de Python

Consultez notre module interactif Apprendre à programmer avec Python pour voir comment ces principes sont appliqués avec du code réel. Mais d'abord, examinons brièvement chaque principe.

Principes du Zen de Python ou PEP-20

Même si les principes du Zen de Python ont été préparés par un ingénieur logiciel, ils sont écrits dans un langage tout sauf technique. Nous pourrions donc avoir besoin de traduire ces principes magnifiquement rédigés en informations exploitables.

1. Beau vaut mieux que laid.

Un beau code vaut mieux qu'un code moche. Si deux extraits de code fonctionnent tous les deux mais que l'un est simple et facilement lisible tandis que l'autre est désordonné et difficile à comprendre, le premier est définitivement le gagnant. Python est connu pour sa simplicité, sa lisibilité et son élégance. Si vous voulez que votre code ait l'air pythonic , faites attention à sa cohérence et sa simplicité.

2. Explicite vaut mieux qu'implicite.

Votre code doit être compréhensible pour quelqu'un qui ne connaît rien à votre programme. Aucune connaissance préalable ne devrait être requise. Rendez votre code aussi explicite que possible sans cacher la fonctionnalité du code derrière un langage obscur.

3. Simple vaut mieux que complexe.

Si vous avez un problème simple qui peut être résolu avec une solution simple, allez-y. Si vous avez un problème complexe, décomposez-le en plusieurs problèmes simples qui peuvent être résolus avec une solution simple. Ne compliquez pas trop votre code pour avoir l'air intelligent. Ce n'est pas apprécié en Python.

4. Complexe vaut mieux que compliqué.

Lorsque votre problème nécessite une solution complexe, cela ne devrait pas être trop compliqué. Un code compliqué rend vos collègues programmeurs confus et consomme des tonnes de temps et d'efforts. Gardez votre code aussi simple et lisible que possible, même lorsque vous travaillez sur des problèmes complexes.

5. Plat vaut mieux qu'imbriqué.

Êtes-vous un grand fan de l'organisation des choses en catégories, sous-catégories et sous-sous-catégories ? Eh bien, lorsqu'il s'agit d'organiser votre code, cette structure hiérarchique ajoute souvent plus de confusion que d'organisation. Tenez-vous en à une structure de code plate avec un minimum d'imbrication. C'est super important pour la lisibilité du code - et comme vous le savez déjà, nous nous soucions beaucoup de la lisibilité en Python.

6. Clairsemé vaut mieux que dense.

N'essayez pas d'impressionner qui que ce soit en compressant une tonne de fonctionnalités en une seule ligne de code. Cela peut sembler impressionnant pour les non-programmeurs, mais en fait, cela déroute simplement vos collègues programmeurs qui auront besoin de plus de temps pour comprendre votre code. Il est généralement préférable d'avoir plusieurs lignes de code faciles à suivre qu'une seule ligne dense.

7. La lisibilité compte.

Souvent, les programmeurs essaient de gagner du temps en abrégeant les noms de variables et de fonctions ou en sautant des commentaires (ou en faisant des commentaires trop brefs). N'oubliez pas :vous ne pouvez écrire le code qu'une seule fois, mais les utilisateurs devront probablement le lire plusieurs fois. Si vous voulez vraiment "gagner du temps", rendez votre code lisible en utilisant des noms de variables et de fonctions faciles à comprendre, une documentation complète et une indentation appropriée.

8. Les cas spéciaux ne sont pas assez spéciaux pour enfreindre les règles.

En Python, il existe de nombreuses bonnes pratiques qui rendent votre code plus lisible pour les autres programmeurs. Suivez ces pratiques au lieu de le faire « à votre façon ». Cette règle est particulièrement importante lorsque vous créez des modules ou des bibliothèques à utiliser par d'autres.

9. Bien que l'aspect pratique l'emporte sur la pureté.

Pourtant, chaque règle peut avoir une exception. S'il est plus pratique de résoudre un problème "à votre façon" et que le code reste lisible et facile à suivre, vous pouvez parfois vous écarter des meilleures pratiques établies. Il peut être difficile pour les débutants en programmation de naviguer entre ce principe et le principe ci-dessus, mais cela devient plus facile avec l'expérience.

10. Les erreurs ne doivent jamais passer en silence.

S'il y a une erreur et que votre programme renvoie Aucun ou juste un code d'erreur, vous rencontrez une erreur silencieuse. Ce n'est pas bon. Faire taire les erreurs conduit finalement à des bogues plus difficiles à éliminer (car il est plus difficile de suivre la cause d'origine). Il vaut mieux qu'un programme plante que de désactiver une erreur et de continuer à s'exécuter.

11. À moins d'être explicitement réduit au silence.

Dans certains cas, vous voudrez peut-être ignorer les erreurs que votre programme pourrait provoquer. Ensuite, la meilleure pratique consiste à faire taire cette erreur explicitement dans votre code.

12. Face à l'ambiguïté, refusez la tentation de deviner.

Si votre code ne fonctionne pas, n'essayez pas aveuglément différentes solutions jusqu'à ce que l'une d'entre elles semble fonctionner. Vous masquez peut-être simplement le problème plutôt que de le résoudre. Au lieu de cela, appliquez votre esprit critique pour comprendre le problème, puis trouvez une solution appropriée.

13. Il devrait y avoir une (et de préférence une seule) façon évidente de le faire.

Il y a de la flexibilité lorsque vous avez plusieurs solutions pour le même problème. Cependant, cela ajoute également de la complexité et des efforts, car vous devez être familiarisé avec toutes les solutions possibles.

Python est synonyme de simplicité, et un bon exemple de cela est caché dans ce principe particulier. Notez l'opérateur postfixé (le double tiret) après "un" et l'opérateur préfixé avant "évident" dans ce principe. Les nouveaux programmeurs ne savent souvent pas quand utiliser les opérateurs de postfixe ou de préfixe. Python résout ce problème en ne prenant en charge ni l'un ni l'autre.

14. Bien que cela puisse ne pas être évident au début, sauf si vous êtes néerlandais.

Ce principe fait référence au créateur de Python, Guido van Rossum, qui est néerlandais. Évidemment, se rappeler et comprendre n'importe quelle règle en Python serait plus facile pour lui que pour n'importe qui d'autre.

15. C'est mieux maintenant que jamais.

Ce principe a au moins deux interprétations différentes. Certaines personnes pensent qu'il fait référence à des boucles infinies et sans fin que vous devriez évidemment éviter dans votre code. Une autre interprétation possible est qu'il vous suffit d'éviter la procrastination avec vos projets de programmation. Je pense que cela ne fera pas de mal si nous acceptons ces deux interprétations.

16. Bien que jamais soit souvent mieux que *maintenant*.

Ce principe développe les idées du précédent. Si nous l'appliquons directement à notre code, nous pouvons dire qu'il est préférable d'attendre la fin d'un programme plutôt que de le terminer tôt et d'obtenir des résultats incorrects. Si nous parlons de projets de programmation en général, nous pouvons interpréter ce principe comme un appel à réfléchir et à planifier le projet au lieu de se lancer immédiatement.

17. Si la mise en œuvre est difficile à expliquer, c'est une mauvaise idée.

S'il est difficile pour vous d'expliquer votre implémentation à vos collègues, c'est probablement qu'elle est écrite en mauvais code. Très probablement, vous l'avez rendu trop compliqué et avez violé quelques-uns des principes ci-dessus. Essayez de simplifier votre solution jusqu'à ce que vous vous sentiez à l'aise de l'expliquer à d'autres programmeurs.

18. Si la mise en œuvre est facile à expliquer, cela peut être une bonne idée.

Si vous pouvez facilement expliquer votre implémentation à vos collègues, cela pourrait sois sage. Cela peut toujours être faux, mais vous êtes sur la bonne voie en termes de lisibilité et de simplicité du code.

19. Les espaces de noms sont une idée géniale ! Faisons-en d'autres !

En Python, vous pouvez avoir des espaces de noms isolés ou une collection de noms qui permettent à chaque objet de votre programme d'avoir un nom unique. Les espaces de noms créent un système dans lequel les noms de l'un de vos modules n'entrent pas en conflit avec les noms d'un autre. Cela les rend très pratiques.

C'est ça! Nous avons couvert les 19 principes du Zen de Python. Maintenant, il est temps de s'entraîner.

Commencez à pratiquer le zen de Python

La simplicité, la lisibilité et la concision du code Python permettent d'apprendre très rapidement ce langage de programmation. Cependant, comme pour tout nouveau langage de programmation, il est essentiel de s'entraîner avec du vrai code. Ici, sur LearnPython.com, nous proposons de nombreux cours interactifs qui vous permettent de vous plonger directement dans le codage sans avoir à inventer vos propres problèmes et exercices.

Je recommande de commencer par Python Basics. Pratique. Il s'adresse aux débutants qui connaissent les bases de Python mais qui manquent d'expérience en codage. Les 15 tâches interactives vous permettront de créer des applications Python simples, d'utiliser des variables en Python, d'appliquer des opérateurs mathématiques de base, d'utiliser des boucles et des instructions if, et de travailler avec des structures de données Python de base.

Pour plus de pratique et de plaisir , consultez Python Practice:Word Games. Le cours comprend 27 tâches organisées en trois sections thématiques amusantes :(1) implémenter un chiffrement simple en Python ; (2) analyser le texte de l'un des romans de Sherlock Holmes et (3) mettre en œuvre des fonctions utiles pour jouer au Scrabble.

Si vous recherchez une piste d'apprentissage complète qui vous présentera les bases de la programmation en Python, Learn Programming with Python mérite certainement votre attention. Il comprend 5 cours interactifs couvrant les bases de la syntaxe Python, les structures de données Python et les algorithmes intégrés dans Python. Avec son parcours d'apprentissage soigneusement conçu et sa complexité progressivement croissante, cette piste vous permettra d'apprendre Python en moins d'un mois.

Bonus . Voici notre liste des meilleurs cours Python gratuits.

Merci d'avoir lu et bon apprentissage !