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

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Que pensez-vous de Python 3.0 ?

Le , par Guigui_

0PARTAGES

0  0 
La version finale de Python 3.0 devrait bientôt sortir (actuellement la rc3).

Cette version va rompre la compatibilité avec Python 2.x (même si la migration de vos programmes ne devraient pas être trop difficile, l'outil 2to3 devrait de ce côté pas mal aider).

On peut noter:
- print devient une fonction. Il vous faudra donc utiliser les ()
- Unification des types str et unicode. Les questions récurrentes sur les problèmes d'encodage devraient moins se faire sentir. En contre-partie, un type byte est créé.
- des fonctions qui retournaient auparavant des listes retourneront maintenant des iterateurs ou des vues (range, map, filter, ...). Il vous faudra caster explicitement si vous voulez tout de même récupérer des listes.
- La division / retournera un float même sur des entiers
- Pas mal de fonctions/modules devenues obsolètes sont supprimés de la distribution standard.
A noter que pour le moment Python 3.0 que ces prédécesseurs
Vous pourrez retrouver tous les changements ici: http://docs.python.org/dev/3.0/whatsnew/3.0.html

Qu'est-ce qui vous plait dans les changements apportés par cette version ?
Allez-vous vous mettre rapidement à Python 3.0 ? Il faudra tout de même patienter un peu avant de voir la migration des différentes bibliothèques tierces utiles.

What's new : http://docs.python.org/dev/3.0/whatsnew/3.0.html
Téléchargement : http://www.python.org/download/releases/3.0/
Documentation : http://docs.python.org/dev/3.0/

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de Bayard
Membre éclairé https://www.developpez.com
Le 05/12/2008 à 22:03
A noter que pour le moment Python 3.0 que ces prédécesseurs
-> Pourriez-vous rajouter les mots manquants ?
1  0 
Avatar de anthyme
Membre éprouvé https://www.developpez.com
Le 06/09/2007 à 13:52
Moi j'avais entendu parler de typage statique optionnel mais je n'ai pas vraiment regardé les details mais ça peut etre pas mal (surtout si le polymorphisme suit) à la fois pour le travail colaboratif (pas toujours facil de savoir ce qui se balade quand c'est pas son propre code) et les IDE (vérification des arguments à l'écriture).

Sinon l'apparition du type byte, l'unicode en string de base, ...

Enfin bon on vera ...
0  0 
Avatar de GnuVince
Membre éclairé https://www.developpez.com
Le 06/09/2007 à 14:44
Première des choses, il n'y a pas de typage statique. Il y a des annotations, mais le compilateur ne s'en sert pas, c'est pour les programmeurs et pour la documentation.

Pour ce qui est de Python 3.0, je le trouve très bien. C'est pas vraiment différent de Python 2.x (contrairement à Perl 5 vs Perl 6), mais certains changements font du bien:
  • L'intégration du Unicode. Les problèmes d'encodings sont tellement chiant, j'ai super hâte que tout le monde se mette à utiliser Unicode et je suis bien content que Python l'utilise par défaut
  • La plupart des fonctions qui retournaient des listes retournent maintenant des itérateurs (range, keys, values, items, etc.)
  • Même si c'est certain que je vais avoir énormément d'erreurs de syntaxe à cause de ça, faire que print soit une fonction est un point positif.
  • Plus de classic classes
  • Enfin de vraies divisions. 3 / 2 retourne 1.5 et 3 // 2 retourne 1 (ancien comportement)


J'ai lu un article d'un programmeur qui a converti feedparser avec l'outil 2to3. Apparament ça fonctionne bien.
0  0 
Avatar de anthyme
Membre éprouvé https://www.developpez.com
Le 06/09/2007 à 19:39
hummmm...

t a un site avec un exemple de code de typage euhhh "définie" en python 3 ?
0  0 
Avatar de GnuVince
Membre éclairé https://www.developpez.com
Le 06/09/2007 à 23:06
Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
>>> def plus(a: int, b: int) -> int:
...   return a + b
... 
>>> plus(10, 20)
30
>>> plus.__annotations__
{'a': <type 'int'>, 'b': <type 'int'>, 'return': <type 'int'>}
>>>
0  0 
Avatar de anthyme
Membre éprouvé https://www.developpez.com
Le 07/09/2007 à 10:59
hummm je suis pas super fan de la syntaxe (horreur des "->" dans les langages on avait été epargné jusqu'ici )

oki merci pour l'info
0  0 
Avatar de GnuVince
Membre éclairé https://www.developpez.com
Le 07/09/2007 à 15:04
Citation Envoyé par anthyme Voir le message
hummm je suis pas super fan de la syntaxe (horreur des "->" dans les langages on avait été epargné jusqu'ici )

oki merci pour l'info
Effectivement, j'aime pas non plus la syntaxe pour le return, mais enfin. Une chose le fun par contre, les IDEs vont pouvoir donner plus d'informations, mais sans qu'on perde le typage dynamique.

Je dois mentionner aussi que les annotations ne doivent pas obligatoirement être des types:

Code : Sélectionner tout
1
2
3
4
5
6
7
>>> def foo(x: 'entier positif') -> 'brosse a dents':
...   pass
...
>>> foo.__annotations__
{'x': 'entier positif', 'return': 'brosse a dents'}
>>>
Ce sont vraiment juste des annotations, des infos supplémentaires qu'on peut donner aux paramètres.
0  0 
Avatar de Guigui_
Expert éminent sénior https://www.developpez.com
Le 04/12/2008 à 10:58
La Release 3.0 est maintenant disponible : http://www.python.org/download/releases/3.0/
0  0 
Avatar de kedare
Membre chevronné https://www.developpez.com
Le 05/12/2008 à 16:40
Arf toujours pas de join sur les tuples/arrays, pourquoi ils font pas comme dans tout les langages au lieu de mettre ca sur str ? :/
0  0 
Avatar de legerf
Membre à l'essai https://www.developpez.com
Le 05/12/2008 à 22:04
Nouveau en python je vais directement me lancer sur Python 3000. En comparaison avec la v2 l'unicode, le multiprocessing et l'amélioration des classes I/O et les types strings/datas font la différence : programmation système, applis en réseaux, supervision ...
0  0