|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
![]() ![]() Tarik Zakaria BenmerarCEO Inscription : juillet 2012 Messages : 78 ![]() |
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 :
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.0Source : 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 ?
|
||
|
|
70
|
|
|
#2 | ||
|
Expert Confirmé Sénior
![]() ![]() Ingénieur systèmes embarqués Inscription : juin 2009 Messages : 1 717 ![]() |
Citation:
Citation:
Enfin, perso je code en Python 2.7 donc pour le moment, c'est de la curiosité ^^
__________________
Si Code::Blocks vous dit undefined reference to 'socket@12', cela signifie que vous avez un problème d'édition des liens. Allez dans Projects / Build Options / Linker Settings / Add et renseigner ici les .a qui vont bien. Exemple pour les sockets : C:\Program Files\CodeBlocks\MinGW\lib\libws2_32.a Pour les adeptes du langage SMS, allez ici et ramenez la traduction française ^^ Pour vos problèmes d'embarqué, utilisez le forum dédié ! |
||
|
00
|
|
|
#3 |
|
Membre éprouvé
![]() Inscription : juin 2002 Messages : 667 ![]() |
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. |
|
|
00
|
|
|
#4 |
|
Membre du Club
![]() Mickaël WolffDéveloppeur informatique Inscription : juin 2012 Messages : 11 ![]() |
@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 |
|
|
00
|
|
|
#5 | |
|
Expert Confirmé Sénior
![]() ![]() Ingénieur systèmes embarqués Inscription : juin 2009 Messages : 1 717 ![]() |
Citation:
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
__________________
Si Code::Blocks vous dit undefined reference to 'socket@12', cela signifie que vous avez un problème d'édition des liens. Allez dans Projects / Build Options / Linker Settings / Add et renseigner ici les .a qui vont bien. Exemple pour les sockets : C:\Program Files\CodeBlocks\MinGW\lib\libws2_32.a Pour les adeptes du langage SMS, allez ici et ramenez la traduction française ^^ Pour vos problèmes d'embarqué, utilisez le forum dédié ! |
|
|
00
|
|
|
#6 |
![]() ![]() Inscription : juillet 2009 Messages : 3 284 ![]() |
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
|
|
|
10
|
|
|
#7 |
|
Membre habitué
![]() Inscription : avril 2012 Messages : 47 ![]() |
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). |
|
|
00
|
|
|
#8 |
|
Membre expérimenté
![]() Inscription : octobre 2004 Messages : 329 ![]() |
|
|
|
00
|
|
|
#9 |
|
Membre éclairé
![]() Inscription : avril 2009 Messages : 674 ![]() |
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é. |
|
|
41
|
|
|
#10 |
|
Expert Confirmé
![]() Développeur informatique Inscription : décembre 2008 Messages : 777 ![]() |
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++. |
|
|
00
|
|
|
#11 | |
|
Expert Confirmé Sénior
![]() Inscription : juin 2008 Messages : 3 719 ![]() |
Salut,
Citation:
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 |
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com