Différentes distributions sont disponibles, qui incluent parfois beaucoup de packages dédiés à un domaine donné :
Version | Date de sortie | Nouveautés |
1.5(.2) | 13 avril 1999 | - Ajout du mot clé assert
- Possibilité d'importer une hiérarchie de modules (import spam.ham.eggs)
- Nouveau module re qui remplace regex
- Les exceptions sont maintenant des classes
- Ajout de l'option -O qui supprime les assertions et informations de ligne de fichier
|
1.6 | 5 septembre 2000 | - La méthode append() des listes n'accepte plus qu'un seul argument
- Le résultat des fonctions str() et repr() est maintenant beaucoup plus souvent différent, exemple : str(1L)=='1' et repr(1L)=='1L'
- Les chaînes de caractères ont maintenant des méthodes (" abc ".strip())
- Le module re est compatible avec l'ancien moteur, est plus rapide, et accepte les chaînes Unicode
- Ajout du module distutils
- Nouveau prototype "def f(*args, **kw)" pour les fonctions, avant il fallait utiliser apply()
- int() et long() acceptent maintenant une base en second argument
- L'opérateur in peut être surchagé avec une méthode __contains__()
|
2.0 | 16 octobre 2000 | - Changement majeur : support d'Unicode
- Ajout des compréhensions de liste (List Comprehensions)
- Ajout des opérateurs avec assignement (a+=b, a*=b, etc.)
- Les chaînes str ont maintenant des méthodes
- Nouveau ramasse-miettes à cycles
- Nouveau prototype "def f(*args, **kw)" pour les fonctions, avant il fallait utiliser apply()
- Ajout des modules distutils, xml.dom.minidom module et xml.sax
|
2.1 | 17 avril 2001 | - Création du module __future__ pour rendre les transitions plus douces
- Comparaisons riches (méthodes __lt__, __le__, ..., __ne__)
- Framework d'avertissement
- Ajout des modules inspect, pydoc, doctest, pyunit
- Ajout des références faibles (weak references)
- Les fonctions peuvent avoir des attributs
- "Nested Scopes"
- La version 2.0.1 (juin 2001) sera la première version compatible GPL
|
2.2 | 21 décembre 2001 | - Unification de Type et de Class: on peut maintenant hériter des types de base
- Ajout des itérateurs et générateurs
- Nouvel opérateur a // b pour la division entière
|
2.3 | 29 juillet 2003 | - Ajout des fonctions enumerate() et sum()
- Le type bool est maintenant vraiment distinct d'un entier
- Beaucoup d'améliorations du support Unicode
|
2.4 | 30 novembre 2004 | - Ajout des décorateurs de fonction/méthode (@decorateur)
- Conversion automatique d'un entier court en entier long si le résultat d'une opération est trop grand
- Expressions de générateur retournant les résultats l'un après l'autre et non pas sous forme d'une liste, exemple : sum( x for x in xrange(10000) )
- Ajout des fonctions reversed() et sorted()
- La fonction sort() accepte les mots clés cmp, key et reverse
- Création du module decimal et du routeur
|
2.5 | 19 septembre 2006 | - Ajout de l'opérateur with
- Ajout des méthodes send(), throw() et close() aux générateurs
- Expression conditionnelle (a if test else b)
- Les imports de module peuvent être relatifs
- Ajout des méthodes partition() et rpartition() aux chaînes str et unicode
- Ajout des fonctions any() et all()
- Intégration des bibliothèques ctypes, ElementTree, hashlib, sqlite3 et wsgiref
|
2.6 | 1er octobre 2008 | - Nouvelle syntaxe de formatage de chaînes de caractères
- Classes de bases abstraites
- Décorateurs de classes
- Modules json, multiprocessing, contextmanager et fractions
- Amélioration de la compatibilité avec Python 3
|
3.0 | 3 décembre 2008 | - Fusion des types 'int' et 'long'
- Les chaînes sont en Unicode par défaut, 'bytes' remplace l'ancien type 'str'
- Utilise des itérateurs plutôt que des listes là où c'est approprié (ex : dict.keys())
- a/b est la vraie division par défaut
- exec et print deviennent des fonctions
- None et as deviennent des mots clé
- Le fichier __init__.py n'est plus nécessaire pour les modules Python
- `x`, l'opérateur <>, et la méthode find() des chaînes disparaissent
- De nombreuses fonctions disparaissent : apply(), buffer(), callable(), ...
- map() et filter() disparaissent au profit des compréhensions de liste
- reduce() disparaît au profit des boucles explicites
Voir la PEP 3100 pour les détails
|
3.1 | 27 juin 2009 | - Ajout d'un type de dictionnaire ordonné,
- Optimisations diverses apportées au type 'int',
- Nouvelles fonctionnalités du module 'unittest',
- Module d'entrées/sorties 'io' rendu plus rapide,
- Implémentation de référence de l'instruction "import" en pur Python
- Nouvelle syntaxe pour les instructions 'with' imbriquées.
|