Maintenant que Python 2.6 est sorti, quels modules actuellement dans le langage tout programmeur devrait-il connaître?

StackOverflow https://stackoverflow.com/questions/168727

Question

De nombreuses fonctionnalités utiles en Python sont un peu "cachées". à l'intérieur des modules. Les n-uplets nommés (nouveaux dans Python 2.6 ), par exemple, se trouvent dans le répertoire collections .

La page Documentation sur la bibliothèque vous donnera tous les modules de la langue, mais les nouveaux venus dans Python sont susceptibles de se retrouver en train de dire "Oh, je ne savais pas que j'aurais pu le faire de cette façon en utilisant Python!" à moins que les fonctionnalités importantes du langage ne soient signalées par des développeurs expérimentés.

Je suis pas à la recherche de nouveaux modules dans Python 2.6, mais de modules pouvant être trouvés dans cette dernière version.

Était-ce utile?

La solution

Bibliothèques essentielles

Le principal défi pour un programmeur expérimenté utilisant une autre langue en Python consiste à comprendre comment une langue correspond à une autre. Voici quelques bibliothèques essentielles et leur relation avec les équivalents Java.

os, os.path 

Possède des fonctionnalités telles que java.io.File, java.lang.Process et autres. Mais plus propre et plus sophistiqué, avec une saveur Unix. Utilisez os.path au lieu de os pour les fonctionnalités de niveau supérieur.

sys 

Manipulez le chemin sys.path (qui ressemble au chemin de classe), enregistrez les gestionnaires d'exit (comme dans l'objet java Runtime) et accédez aux flux d'E / S standard, comme dans java.lang.System.

unittest 

Très similaire (et basé sur) jUnit, avec des montages de test et des harnais exécutables.

logging 

Fonctionnalité presque identique à log4j avec les niveaux de journalisation et les enregistreurs. (la journalisation est également dans la bibliothèque standard java.util.Logging)

datetime  

Permet l'analyse et le formatage des dates et des heures, comme dans java.text.DateFormat, java.util.Date et les applications connexes.

ConfigParser  

Permet une configuration persistante comme dans un fichier de propriétés Java (mais permet également une imbrication). Utilisez-le lorsque vous ne voulez pas la complexité de XML ou d'un backend de base de données.

socket, urllib 

Fonctionnalité similaire à celle de java.net, permettant de travailler avec des sockets ou de récupérer du contenu via des URL / URI.

N'oubliez pas non plus que de nombreuses fonctionnalités de base, telles que la lecture de fichiers et l'utilisation de collections, se trouvent dans le langage python principal, alors qu'en Java, elles se trouvent dans des packages.

Autres conseils

Le nouveau module le plus impressionnant est probablement le module multitraitement . D'abord parce qu'il vous permet d'exécuter des fonctions dans de nouveaux processus tout aussi facilement et avec à peu près la même API que vous le feriez avec le module threading . Mais plus important encore, car il introduit un grand nombre d'excellentes classes pour la communication entre processus, telles qu'une classe Queue et une classe Lock , qui sont utilisées comme chacun de ces objets. code multithread, ainsi que certaines autres classes pour le partage de mémoire entre processus.

Vous pouvez trouver la documentation à l'adresse http://docs.python.org/library/multiprocessing. .html

Le nouveau module json est un véritable avantage. aux programmeurs web !! (Il était connu sous le nom simplejson avant d'être fusionné dans la bibliothèque standard. )

C’est ridiculement facile à utiliser: json.dumps (obj) code un objet Python de type intégré en chaîne JSON, tandis que json.loads (chaîne) décode une chaîne JSON en un objet Python.

vraiment très pratique.

Peut être PEP 0631 et Quoi de neuf dans la version 2.6 peut fournir des éléments de réponse. Ce dernier article explique les nouvelles fonctionnalités de Python 2.6, publié le 1 er octobre 2008.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top