55 votes

Les modules Python les plus utiles de la bibliothèque standard ?

J'enseigne un cours de niveau supérieur sur Python à l'Université de Paris, et les étudiants doivent être initiés à la bibliothèque standard. Je veux discuter avec eux de certains des modules standard les plus importants.

Quels sont les modules qui, selon vous, sont indispensables ? Même si les réponses varient probablement en fonction de votre domaine (programmation web, sciences, etc.), je pense que certains modules sont communément nécessaires : math , sys , re , os , os.path , logging et peut-être : collections , struct ,

Quels modules me suggérez-vous de présenter, dans un créneau d'une ou deux heures ?

41voto

S.Lott Points 207588

Les modules à couvrir dans un créneau de 1 à 2 heures dépendent entièrement de l'intérêt ou du centre d'intérêt de votre public. Quels autres cours suivent-ils ? Que sont-ils prêts à utiliser immédiatement ?

N'oubliez pas de mentionner math , decimal et datetime et time et re .

Pour les types de technologies de l'information qui feront un travail axé sur les dossiers : glob , fnmatch , os , os.path , tempfile et shutil .

Les gens de la base de données doivent entendre parler de sqlite et json .

Le public de Simulation peut vouloir entendre parler de random .

Les développeurs web doivent entendre parler de urllib2 du point de vue du client. Il faut également utiliser Beautiful Soup et un analyseur XML de votre choix.

Les développeurs web doivent entendre parler de logging et wsgiref du point de vue du serveur.

32voto

Rorick Points 3582

Je proposerais itertools et functools . Ces modules fonctionnent sur des abstractions que l'on retrouve partout en programmation, je pense donc qu'il est utile de les étudier. Parmi les choses plus pratiques, les modules xml ( xml.dom , xml.sax ) peuvent être très utiles.

18voto

Benjamin Wohlwend Points 14976

Jetez un coup d'œil à PyMOTW (Module Python de la semaine). Bien qu'il ne soit pas strictement stdlib, il s'agit d'une grande ressource de joyaux évidents et moins évidents de la stdlib de python. De plus, il sert également d'excellente documentation pour les modules introduits.

7voto

Edan Maor Points 4491

J'opterais pour quelques modules qui ont le plus de sens pour un utilisateur d'ordinateur/programmeur typique effectuant des tâches informatiques typiques. De cette façon, il y a le plus de chances qu'ils puissent réellement utiliser python sur leur propre temps.

À mon avis, les opérations que la plupart des gens sont susceptibles d'effectuer sont des opérations sur les fichiers, par exemple passer en revue tous les fichiers d'un répertoire et effectuer une action sur eux.

Par conséquent, je dirais les modules : os et os.path sont probablement les plus importantes, et mentionnent également glob, fnmatch et shutil . Aussi, sous-processus pourrait être très utile aussi, puisqu'il a tendance à être utilisé dans le contexte mentionné ci-dessus.

Enfin, je choisirais optparse En effet, cela leur permettra de créer très rapidement des programmes utilisables et faciles à programmer, ce qui, espérons-le, les encouragera également à écrire des programmes que d'autres personnes voudront utiliser.

6voto

Mattias Nilsson Points 2269

Cela dépend un peu de ce qu'ils vont faire et de leur niveau. Voici quelques modules que j'aurais aimé que quelqu'un me signale lorsque j'ai commencé :

  • StringIO - pour les empêcher de le réimplémenter, ce qu'ils feront s'ils ne le découvrent pas.
  • journalisation - pour les mettre sur la bonne voie en ce qui concerne les impressions de débogage
  • cornichon - pour les empêcher d'essayer d'utiliser XML partout.
  • xml.etree.ElementTree - Pour les sauver du modèle DOM lorsqu'ils doivent réellement travailler avec XML.
  • pprint - pour rendre les structures imbriquées en python moins intimidantes.

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