Vous êtes ici : Accueil Actualités Sortie de Python 3.3 en alpha

Sortie de Python 3.3 en alpha

La première alpha de Python 3.3 vient de sortir avec des améliorations sensibles et quelques nouveautés.

Voici le lien où vous trouverez toutes les informations : Quoi de neuf dans Python 3.3 (en anglais)

Très rapidement, les changements principaux sont :

  • Travail sur la reprèsésentation sur 1 ou plusieurs octets des chaînes de caractères unicode (PEP 393 + performance)
  • Refonte de la hiérarchie d'exception des modules IO et OS
  • PEP 380 : yield from iterable
  • PEP 409 : raise Error from None
  • PEP 414 : Rajout de u devant les chaînes de unicode pour simplifier la transition de Python 2 à Python 3.
  • PEP 3155 : rajout d'un nom qualifié pour les classes et les fonctions
  • io : la fonction open() accepte un nouveau mode x qui permet exclusivement de créer un nouveau fichier et qui génère une erreur si le fichier existe déjà
  • Module abc : abc.abstractproperty, abc.abstractclassmethod et abs.abstractstaticmethod sont dépréciés, il faut utiliser abc.abstractmethod avec respectivement property, classmethod et staticmethod.
  • os : nouvelle fonctions pipe2(), sendfile(), getpriority(), setpriority(), fwalk(), les fonctions "at" (faccessat, fchmodat, + 13 autres), les fonctions étendues (utilisant un descriteur au lieu d'un chemin, 12 fonctions), 10 fonctions pour gérer le scheduler, et 16 autres.
  • shutil : nouvelles fonctions disk_usage et chows
  • time : quatre nouvelles fonctions qui sont clock_getres(), clock_gettime(), monotonic() et wallclock().
  • ftplib : FTP_TLS propose une nouvelle méthode ccc
  • smtplib : SMTP_SSL ainsi que starttls acceptent maintenant un paramètre SSLContext
  • imaplib : le constructeur de IMAP_SSL accepte maintenant un paramètre SSLContext
  • bz2 : réécriture complète du module
  • codecs : travail sur les codecs pour Windows
  • array : support du format long long via le code q ou Q
  • nouveau module faulthandler
  • lzma : le module lzma permet la compression et décompression à l'aide de l'algorithme LZMA et inclue le support des formats .xz et .lzma
  • math : le module math a une nouvelle fonction log2()
  • packaging : refactoring de distuils sous un nouveau nom pour permettre le cassage de compatibilité arrière. Le module disutils existe toujours mais il est conseillé de migrer vers packaging. Le module disutils2 est un backport.

Cette liste est loin d'être exhaustive et effleure simplement le travail effectué, mais la conclusion est que la branche 3 de Python continue son effort de clarification, de simplification, d’homogénéisation et de consolidation.

Mots-clés associés :

Spinner