87 votes

Comment apprendre Python : De bons exemples de code ?

Je me suis essayé à Python depuis quelques mois maintenant, j'ai lu les documents/tutoriels en ligne et j'ai commencé à jouer avec Django et j'ai l'impression que je commence à quitter mes années de formation de petit enfant et que je suis prêt pour du code plus sérieux. La plupart de tout ce que je vois est généralement encapsulé dans un seul script ou tellement grand et peu maniable que je ne sais pas par où commencer.

J'aimerais vraiment voir un excellent exemple de code Python approprié, de style, d'organisation, etc. et idéalement un WHY associé à certaines de ces décisions. Avez-vous une idée de l'endroit où je devrais chercher ? Je préférerais une application console simple avec tout au plus quelques fichiers .py supplémentaires (peut-être un paquet pour faire bonne mesure)...

Oh, et une dernière chose : la raison pour laquelle cette question est soulevée est que j'ai beaucoup d'expérience en Java et .NET où il est généralement préférable d'avoir une définition de classe par fichier source. Cela semble rarement être le cas dans le monde Python (du moins dans mon expérience très limitée) et cela ne me semble pas correct. Peut-être s'agit-il plus de Python d'entreprise que de Python d'amateur ou quelque chose comme ça.

53voto

James Sulak Points 9959

Vous avez raison de dire que rien ne remplace l'observation du code, mais j'ai trouvé Codez comme un pythoniste pour être utile pour ce genre de questions. Il comporte de petites sections sur la structure des modules et l'organisation des paquets à la fin.

Edit : La section Tutoriel Python sur modules vaut également la peine d'être lu.

28voto

Brian Willis Points 5426

Essayez Plongez dans Python qui peut être lu en ligne gratuitement.

26voto

namin Points 8542

Peter Norvig présente deux courts et beaux échantillons de code utiles écrits en Python :

Il a aussi récemment écrit un chapitre de livre avec du code python :

16voto

Sergio Acosta Points 6450

J'ai trouvé Le défi Python une excellente ressource pour apprendre python.

Il s'agit d'un jeu en ligne dans lequel vous devez résoudre des énigmes en utilisant la programmation python, et vous obtenez des tonnes d'exemples de code source, mais la condition pour voir les exemples de code est que vous résolviez d'abord chaque énigme. Les exemples de code sont en fait les solutions des autres joueurs, d'ailleurs.

Je trouve que j'apprends beaucoup plus des exemples de code donnés dans les solutions lorsque j'ai déjà essayé de les résoudre moi-même.

11voto

Peter Burns Points 17420

Il y a beaucoup de grandes applications Python, vous en mentionnez une dans votre question : Django. Pourquoi ne pas parcourir la source de Django pour voir une façon d'organiser un projet plus important.

Pour la disposition des classes et des modules, un modèle que j'ai vu se répéter dans les grands projets Python est de mettre plusieurs classes liées dans un seul fichier, puis plusieurs fichiers liés dans un seul répertoire. Placez un fichier __init__.py dans ce répertoire et importez tout le code de ce répertoire dans un seul espace de noms.

Un exemple de ceci, dans le source de Django : /trunk/django/forms/

Ensuite, si vous voulez utiliser, par exemple, la classe CharField dans un autre fichier, vous pouvez simplement utiliser

import formsfield = forms.CharField()

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X