URL: https://linuxfr.org/users/ikipou/journaux/quoi-de-neuf-pour-python Title: Quoi de neuf pour Python? Authors: Benjamin Poulain Date: 2007年09月22日T00:23:19+02:00 Tags: Score: 0 La version 2.5 de Python et maintenant largement déployé dans les distributions. Et cette version sera présente par défaut dans la plupart des distributions à venir cet automne. Mais connaissez vous bien Python 2.5? A.M. Kuchling a écrit un document qui reprend l'ensemble des PEP implémentés dans Python 2.5: What's new in Python. Les parties les plus importantes de ce document ont été traduites. Les documents traduit sont disponible à l'adresse [http://www.magellan.fpms.ac.be/python/quoi-de-neuf-dans-pyth(...)](http://www.magellan.fpms.ac.be/python/quoi-de-neuf-dans-python-2.5/) Tout les changement ne sont pas important pour tout le monde, je résumerais ici les changements qui changent la vie :). **Expression ternaire**: Python introduit une expression conditionnelle ternaire comme en C ou C++: [http://www.magellan.fpms.ac.be/python/quoi-de-neuf-dans-pyth(...)](http://www.magellan.fpms.ac.be/python/quoi-de-neuf-dans-python-2.5/pep-308-expressions-conditionnelles/) Cette expression est très pratique pour affecter dans les cas courant et cas d'exceptions. Il faut s'habituer à la syntaxe, elle est particulière. **Except et finally plus exclusif**: Les structures Except-else et finally ne sont désormais plus exclusives: [http://www.magellan.fpms.ac.be/python/quoi-de-neuf-dans-pyth(...)](http://www.magellan.fpms.ac.be/python/quoi-de-neuf-dans-python-2.5/pep-341-unification-de-try-except-finally/) La sémantique est la même que dans Java, c'est à dire que le bloc finally sera toujours exécuté, très pratique pour libérer des ressources. **Exception new-style**: Les exceptions peuvent être de type new-style, et toute la hiérarchie existante devient new-style dans Python 2.5: [http://www.magellan.fpms.ac.be/python/quoi-de-neuf-dans-pyth(...)](http://www.magellan.fpms.ac.be/python/quoi-de-neuf-dans-python-2.5/pep-352-les-exceptions-deviennent-des-classes-new-style/) Beaucoup plus important: la hiérarchie d'exception a changé. Voyez l'article pour les détails mais en gros on peut maintenter intercepter _Exception_ pour intercepter proprement toutes les exceptions. **Générateur modifiable à la volée**: L'instruction yield devient une expression plutôt qu'une instruction, et elle peut retourner une valeur: [http://www.magellan.fpms.ac.be/python/quoi-de-neuf-dans-pyth(...)](http://www.magellan.fpms.ac.be/python/quoi-de-neuf-dans-python-2.5/pep-342-nouvelles-fonctionnalites-des-generateurs/) Ceci ajoute un nouveau mode de programmation des générateurs. De nouveaux design patterns verront vraisemblablement le jour pour les générateurs. **L'application partielle de fonction**: Il est désormais possible de créer des variantes de fonctions en fixant des paramètres: [http://www.magellan.fpms.ac.be/python/quoi-de-neuf-dans-pyth(...)](http://www.magellan.fpms.ac.be/python/quoi-de-neuf-dans-python-2.5/pep-309-application-partielle-de-fonction/) Ceci a été créé pour le paradigme fonctionnel de Python, néanmoins, cette fonctionnalité ajouté vraiment de la souplesse aux API. Voyez l'exemple de PyGTK dans l'article. La suite concerne les changements à venir. Ceux-ci ne sont pas activé par défaut, mais ils sont déjà utilisable via un import de __future__. **L'instruction with**: Python introduit une nouvelle instruction pour exécuter de façon sûre un bloc de code: [http://www.magellan.fpms.ac.be/python/quoi-de-neuf-dans-pyth(...)](http://www.magellan.fpms.ac.be/python/quoi-de-neuf-dans-python-2.5/pep-343-l-instruction-with/) Cette nouvelle construction clarifiera énormément le code. Par exemple pour le multithread, l'instruction with permet de synchroniser facilement et clairement une portion de code. L'article fournit un exemple pour les transactions de base de données, rien que cet exemple montre les perspective intéressante de l'instruction with. L'instruction sera activé dès Python 2.6. **Schéma d'importation clarifié**: La façon dont les modules sont importés a été revue afin de régler certains problèmes et de clarifier ce mécanisme: [http://www.magellan.fpms.ac.be/python/quoi-de-neuf-dans-pyth(...)](http://www.magellan.fpms.ac.be/python/quoi-de-neuf-dans-python-2.5/pep-328-importation-relative-et-absolue/) Ce changement est vraiment important car il cassera la compatibilité de tout le code qui repose sur l'importation relative de module. Afin de prévenir les problèmes, il est conseillé d'utiliser systématiquement l'importation absolue dès à présent. L'importation relative/absolue sera activé dans Python 2.7 Si vous préférez voir l'original, passez sur [http://docs.python.org/whatsnew/](http://docs.python.org/whatsnew/) Avant la traduction, j'ai contacté l'auteur pour avoir des précisions sur la licence utilisée. L'ensemble du document original est distribué sous licence Python, la traduction est bien sûr distribué avec la même licence.

AltStyle によって変換されたページ (->オリジナル) /