Outils personnels
Vous êtes ici : Accueil Python Quoi de neuf dans Python 2.5

Quoi de neuf dans Python 2.5

Par Benjamin Poulain - Dernière modification 18/04/2008 21:02

Ce dossier reprend quelques pages d'un manuel de A.M. Kuchling nommé "What's New in Python 2.5" dans lequel il explique les changements majeur entre Python 2.4 et Python 2.5.

Document PEP 308: Expressions conditionnelles Par Benjamin Poulain - — Dernière modification 18/04/2008 21:03
Python 2.5 introduit une nouvelle expression pour assigner une valeur à une variable selon une condition, à la façon de l'expression ternaire du langage C. Cette nouvelle expression, possède la syntaxe "variable = valeur_pour_vrai if condition else valeur_pour_faux". Cette syntaxe particulière a été choisie pour différencier une valeur habituelle et une valeur exceptionnelle.
Document PEP 309: Application partielle de fonction Par Benjamin Poulain - — Dernière modification 18/04/2008 21:03
Python 2.5 apporte un nouveau module dédié à la programmation fonctionnelle : functools. Pour le moment ce nouveau module comporte trois fonctions : partial(), update_wrapper() et le décorateur wraps(). La fonction partial() sert à créer des applications de fonction partielle, qui ne sont rien d'autre que des appels de fonctions dont certains arguments ont déjà été remplis. La fonction update_wrapper() et le décorateur wraps() servent à copier de l'information d'un objet décoré dans son décorateur.
Document PEP 314: Metadonnées dans les packages logiciel Python Par A.M. Kuchling - — Dernière modification 18/04/2008 21:03
Python 2.5 ajoute des fonctionnalités pour améliorer l'index du CheeseShop. Vous avez maintenant accès à un système simple de dépendance pour les packages que vous désirez distribuer. Le nouveau Distutils permet aussi d'uploader facilement un package logiciel sur l'index.
Document PEP 328: Importation relative et absolue Par Benjamin Poulain - — Dernière modification 18/04/2008 21:03
Python 2.5 introduit l'importation absolue pour l'importation de package, les packages sont importés avec un chemin absolu, et une syntaxe particulière permet d'utiliser un chemin relatif. Ce nouveau comportement est accessible à l'aide de __future__ mais il deviendra le comportement par défaut dans une future version de Python et il est important d'y faire attention dès maintenant dans le code.
Document PEP 338: Exécuter des modules comme des scripts Par Benjamin Poulain - — Dernière modification 18/04/2008 21:03
L'option -m de l'interpréteur Python permet d'éxecuter un module comme un script. Cette option a gagné en souplesse grâce à une implémentation en Python et elle permet maintenant de lancer du code à partir d'une archive .zip si celle-ci est dans le PYTHONPATH.
Document PEP 341: Unification de try/except/finally Par Benjamin Poulain - — Dernière modification 18/04/2008 21:03
Python 2.5 unifie les deux type de bloc try. Il est maintenant possible d'utiliser des except et un bloc finally ensemble. La sémantique de cette nouvelle construction est simple, quoi qu'il se passe dans le try, dans le ou les except et dans le else, le bloc finally sera toujours exécuté.
Document PEP 342: Nouvelles fonctionnalités des générateurs Par Benjamin Poulain - — Dernière modification 18/04/2008 21:03
Avant Python 2.5, les générateurs ne pouvaient générer des données qu'à partir d'un code fixe. Maintenant, les générateurs possèdent des méthodes supplémentaires pour permettre de changer de comportement de ceux-ci. La nouvelle méthode send() permet à l'instruction yield une valeur de retour. Deux autres nouvelles méthodes permettent de plus de faire lever une exception par yield et de terminer proprement un générateur.
Document PEP 343: L'instruction "with" Par Benjamin Poulain - — Dernière modification 18/04/2008 21:03
Python 2.5 introduit une nouvelle méthode pour exécuter proprement du code en étant sûr qu'une fonction de nettoyage sera appelée en cas de problème : l'instruction with. L'instruction with rend facile certaines tâches qui nécessitaient de gérer les exceptions et/ou permet d'exécuter un bloc de code dans une sémantique particulière.
Document PEP 352: Les exceptions deviennent des classes "new-style" Par Benjamin Poulain - — Dernière modification 18/04/2008 21:03
A partir de Python 2.5, la hiérarchie des classes d'exception à changé et les exceptions devraient être des classes héritant de BaseException. La nouvelle hiérarchie introduit la classe Exception permettant de gérer toutes les erreurs standards du programme.
Document PEP 353: Utiliser ssize_t comme index Par Benjamin Poulain - — Dernière modification 18/04/2008 21:03
Pour supporter des entiers de 64 bits pour les index de listes ou de chaîne, il a été nécessaire de changer les types de retour des primitives de l'interpréteur Python. Le nouveau type Py_ssize_t remplace int pour les types de retour des listes.
Document PEP 357: La méthode "__index__" pour le slicing Par Benjamin Poulain - — Dernière modification 18/04/2008 21:03
Un nouvelle méthode spéciale , __index__ a été ajoutée pour permettre d'utiliser un objet quelconque comme index d'un slicing.
Actions sur le document