IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Actualités Discussion :

Python 3.3 : la bêta 2 est sortie

  1. #1
    Chroniqueur Actualités

    Homme Profil pro
    CEO
    Inscrit en
    Juillet 2012
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : CEO
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2012
    Messages : 78
    Points : 1 395
    Points
    1 395
    Par défaut Python 3.3 : la bêta 2 est sortie
    Python 3.3 : la bêta 2 est sortie
    Quatre nouveaux modules et deux changements majeurs de syntaxe




    Une nouvelle version du langage de script Python se précise.

    C'est en fait la bêta 2 de la version 3.3 qui vient de sortir, et pour les plus impatients d'entre vous, voici un petit tour d'horizon des apports importants. Bien évidemment, l'ensemble des fonctionnalités prévues est toujours à l'état de brouillon et reste susceptible de changer avant la sortie de la version stable.

    Python 3.3 prévoit 4 nouveaux modules importants : faulthandler, ipaddress, lzma et venv, ainsi que deux changements de syntaxe majeurs. Ainsi, on remarque la prise en charge des chaînes Unicode explicites, écrites sous la forme u'chaine'. Cette ancienne manière d'écrire les chaînes Unicode a été reprise pour permettre une transition plus facile des applications écrites en Python 2, utilisant Unicode de manière importante.

    On remarque aussi l'ajout d'une nouvelle expression « yield from », qui permet à un générateur de déléguer une partie de ses opérations à un autre générateur. Pour de simples itérateurs, « yield from iterable » est essentiellement un raccourci de la forme de : « for item in iterable: yield item », comme illustré ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    >>> def g(x):
    ...     yield from range(x, 0, -1)
    ...     yield from range(x)
    ...
    >>> list(g(5))
    [5, 4, 3, 2, 1, 0, 1, 2, 3, 4]
    Mais, au-delà de cet exemple, cette nouvelle expression permet une décomposition en sous-générateurs, telle une fonction qui peut être décomposée en plusieurs sous-fonctions.

    Côté nouveaux modules, on voit apparaître le faulthandler, qui permet de récupérer explicitement le retraça Python, après une faute, un timeout, ou après un signal utilisateur.
    ipaddress est un nouveau module, qui fournit diverses fonctionnalités, de création et de manipulation des adresses et des réseaux IPv4 et IPv6. Des fonctions et des classes dans ce module permettent une manipulation de plusieurs opérations sur les adresses IP, telles que la comparaison entre deux hôtes pour vérifier s'ils sont dans le même sous-réseau, ou itérer sur tous les hôtes d'un sous-réseau particulier.

    lzma est un module de compression et de décompression de données utilisant l'algorithme de compression LZMA. En prime, il inclut une interface de fichier permettant la prise en charge des .xz et de l'ancien format de fichier .lzma utilisé par l'outil xz, ainsi que des flux de compression bruts.

    venv est un module qui s'inspire du célèbre outil virtualenv, et permet la prise en charge et la création d'environnements virtuels, avec leurs propres répertoires, pouvant être isolés des répertoires du site. Ainsi, chaque environnement virtuel dispose de son propre binaire Python, et peut avoir un ensemble propre de paquets Python installés indépendamment des répertoires site.

    La version stable de Python 3.3 est prévue pour le premier septembre prochain.


    Télécharger Python 3.3.0

    Source : Page officielle des nouveautés de Python 3.3

    Et vous ?

    Et vous, pensez-vous faire le pas vers Python 3.3 ?
    Que pensez-vous de l'évolution générale du langage Python ?

  2. #2
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    io

    The open() function has a new 'x' mode that can be used to exclusively create a new file, and raise a FileExistsError if the file already exists. It is based on the C11 ‘x’ mode to fopen().
    Intéressant, et pressé de le voir également dans mon compilateur C !

    The behaviour of time.clock() depends on the platform: use the new time.perf_counter() or time.process_time() function instead, depending on your requirements, to have a well defined behaviour.
    Autre point (de détail) à noter ?

    Enfin, perso je code en Python 2.7 donc pour le moment, c'est de la curiosité ^^

  3. #3
    Membre éclairé Avatar de Bayard
    Inscrit en
    Juin 2002
    Messages
    859
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 859
    Points : 714
    Points
    714
    Par défaut
    Il manque encore beaucoup de modules:
    http://www.python.org/3kpoll

    La route est encore longue...

    L'écriture dans un fichier excel n'est pas pour tout de suite.

    python 2.7 est notre ami
    Si tu ne vis pas ce que tu penses alors tu penses ce que tu vis.

  4. #4
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 17
    Points : 59
    Points
    59
    Par défaut
    @Bktero man 3 fopen
    Une extension de la glibc sous Linux propose ce flag dans fopen. Ça ne dépend pas du compilateur. Il utilise le flag O_EXCL que la fonction open de Linux propose. Je n'ose espérer que MS ne propose pas une telle option dans ces bibliothèques système.

    Par contre, tu te doute bien qu'un appel échouant ne lèvera pas une exception

  5. #5
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    Finally, as an extension to the standards (and thus may not be por-
    table
    ), mode string may end with the letter ``x'', which insists on
    creating a new file when used with ``w'' or ``a''. If path exists,
    then an error is returned (this is the equivalent of specifying
    O_EXCL with open(2)).
    Sous Mac OS X 10.7. Je n'ai en revanche jamais entendu parlé d'un tel flag sous Windows. C'est bon à savoir en tout cas, merci. Pour l'exception en revanche, j'ai sincèrement espéré ( )

    Je me souviens d'un site qui listait toutes les librairies "mauvaises élèves" qui n'avaient pas encore migré à Python 3. Le processus sera long, mais ça finira par se faire complètement.

    PS : en cherchant un peu sur Google, je l'ai retrouvé : http://python3wos.appspot.com

  6. #6
    Expert éminent sénior

    Inscrit en
    Juillet 2009
    Messages
    3 407
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 407
    Points : 149 059
    Points
    149 059
    Par défaut
    C'est fait. La version 3.3 de Python est sortie officiellement.

    Côté nouveaux modules, on voit apparaître :

    faulthandler, qui permet de récupérer explicitement le retraça Python, après une faute, un timeout, ou après un signal utilisateur.

    ipaddress est un nouveau module, qui fournit diverses fonctionnalités, de création et de manipulation des adresses et des réseaux IPv4 et IPv6. Des fonctions et des classes dans ce module permettent une manipulation de plusieurs opérations sur les adresses IP, telles que la comparaison entre deux hôtes pour vérifier s'ils sont dans le même sous-réseau, ou itérer sur tous les hôtes d'un sous-réseau particulier.

    lzma est un module de compression et de décompression de données utilisant l'algorithme de compression LZMA. En prime, il inclut une interface de fichier permettant la prise en charge des .xz et de l'ancien format de fichier .lzma utilisé par l'outil xz, ainsi que des flux de compression bruts.

    venv est un module qui s'inspire du célèbre outil virtualenv, et permet la prise en charge et la création d'environnements virtuels, avec leurs propres répertoires, pouvant être isolés des répertoires du site. Ainsi, chaque environnement virtuel dispose de son propre binaire Python, et peut avoir un ensemble propre de paquets Python installés indépendamment des répertoires site.

    Télécharger Python 3.3 pour Linux, Windows et OSX

  7. #7
    Invité
    Invité(e)
    Par défaut Les versions 3.x de Python sont toujours difficiles à envisager pour moi
    J'apprécie beaucoup le langage Python et j'ai déjà réalisé quelques applications assez intéressantes avec (notamment une gestion de stocks qui tourne via un serveur HTTP lui même écrit en Python et peut aussi utiliser le client en wxPython). J'ai voulu réellement fournir une véritable application dans ce langage car j'ai beaucoup misé sur Python depuis maintenant bientôt 10 ans.

    Mais un gros inconvénient est que les versions sont binairement incompatibles. Or il y a de nombreux projets, bibliothèques supplémentaires etc qui n'ont toujours pas migré en 3.x. Et c'est là aussi qu'il faudrait faire des efforts. A chaque version majeure, c'est une débâcle de recherches pour voir quelles applications sont impactées. Je pense que Python 2.7 restera un bon bout de temps la version définitive (et d'ailleurs, c'est la dernière version 2.x de Python).

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2004
    Messages : 329
    Points : 608
    Points
    608
    Par défaut
    Citation Envoyé par Squeak Voir le message
    Mais un gros inconvénient est que les versions sont binairement incompatibles.
    Le problème est surtout une incompatibilité au niveau source non ?
    Que veux-tu dire par binairement incompatibles ?

  9. #9
    Membre éclairé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 391
    Points : 863
    Points
    863
    Par défaut
    Cette nuit j'ai rêvé que le java était officiellement remplacé par python chez tous les éditeurs logiciels, et toutes les communautés du monde.
    J'ai rêvé.

  10. #10
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    832
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 832
    Points : 2 625
    Points
    2 625
    Par défaut
    Au "niveau source", on parle d'API.
    Au "niveau binaire", on parle d'ABI.

    Une ABI incompatible signifie par exemple que l'on ne peut pas remplacer (j'invente) libwxwidgets28 par libwxwidgets29 sans relinker les applications qui en dépendent.
    Cela dis, pour une version majeure, c'est plus que normal... Habituellement, les seules choses qui garantissent de ne pas modifier l'ABI, ce sont les correctifs de bugs: même les versions mineures ont souvent une ABI incompatible, en tout cas pour ce qui est des langages C et C++.

  11. #11
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 285
    Points : 36 773
    Points
    36 773
    Par défaut
    Salut,

    Citation Envoyé par Squeak Voir le message
    Mais un gros inconvénient est que les versions sont binairement incompatibles.
    Juste pour information.

    3.2 vient avec une ABI qui permet de mieux gérer la dépendance des bibliothèques externe avec la distribution de Python. En gros, après avoir compilé avec 3.2, on pourra réutiliser la bibliothèque sous 3.3, 3.4,...
    voir le PEP 384

    Cela ne résout pas le problème de ceux qui sont coincés en 2.7 parce que leur biblio. n'ont toujours pas été portées en 3.x (faute de bras?) mais cela permettra de passer plus facilement aux versions supérieures de Python.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. PureBasic 4.61 bêta 3 est sortie
    Par comtois dans le forum PureBasic
    Réponses: 1
    Dernier message: 12/05/2012, 22h01
  2. [Visual Web] [SJSC] Java Studio Creator 2 est sorti
    Par Valère dans le forum NetBeans
    Réponses: 7
    Dernier message: 19/11/2007, 00h38
  3. PowerAMC 12 est sorti
    Par Fabien Celaia dans le forum PowerAMC
    Réponses: 1
    Dernier message: 13/07/2006, 17h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo