Précédent   Forum du club des développeurs et IT Pro > Autres langages > Python & Zope > Général Python
Général Python Forum d'entraide sur les fondamentaux du langage Python, syntaxe, POO, bibliothèque standard, ...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Actualité déjà publiée
 
Outils de la discussion
Publicité
'
Vieux 21/04/2005, 10h51   #1
Guigui_
Expert Confirmé Sénior
 
Avatar de Guigui_
 
Homme
Ingénieur développement logiciels
Inscription : août 2002
Messages : 1 861
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 32
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Enseignement

Informations forums :
Inscription : août 2002
Messages : 1 861
Points : 8 455
Points : 8 455
Par défaut Python 3.0, qu'en pensez-vous ?

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/
Guigui_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2007, 13h52   #2
anthyme
Membre Expert
 
Avatar de anthyme
 
Homme Anthyme Caillard
Inscription : mars 2004
Messages : 1 543
Détails du profil
Informations personnelles :
Nom : Homme Anthyme Caillard
Âge : 29
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : mars 2004
Messages : 1 543
Points : 1 271
Points : 1 271
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 ...
anthyme est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2007, 14h44   #3
GnuVince
Membre chevronné
 
Avatar de GnuVince
 
Développeur informatique
Inscription : avril 2004
Messages : 679
Détails du profil
Informations personnelles :
Localisation : Canada

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : avril 2004
Messages : 679
Points : 765
Points : 765
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.
GnuVince est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2007, 19h39   #4
anthyme
Membre Expert
 
Avatar de anthyme
 
Homme Anthyme Caillard
Inscription : mars 2004
Messages : 1 543
Détails du profil
Informations personnelles :
Nom : Homme Anthyme Caillard
Âge : 29
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : mars 2004
Messages : 1 543
Points : 1 271
Points : 1 271
hummmm...

t a un site avec un exemple de code de typage euhhh "définie" en python 3 ?
anthyme est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2007, 23h06   #5
GnuVince
Membre chevronné
 
Avatar de GnuVince
 
Développeur informatique
Inscription : avril 2004
Messages : 679
Détails du profil
Informations personnelles :
Localisation : Canada

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : avril 2004
Messages : 679
Points : 765
Points : 765
Code :
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'>}
>>>
GnuVince est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2007, 10h59   #6
anthyme
Membre Expert
 
Avatar de anthyme
 
Homme Anthyme Caillard
Inscription : mars 2004
Messages : 1 543
Détails du profil
Informations personnelles :
Nom : Homme Anthyme Caillard
Âge : 29
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : mars 2004
Messages : 1 543
Points : 1 271
Points : 1 271
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
anthyme est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2007, 15h04   #7
GnuVince
Membre chevronné
 
Avatar de GnuVince
 
Développeur informatique
Inscription : avril 2004
Messages : 679
Détails du profil
Informations personnelles :
Localisation : Canada

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : avril 2004
Messages : 679
Points : 765
Points : 765
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 :
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.
GnuVince est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2008, 10h58   #8
Guigui_
Expert Confirmé Sénior
 
Avatar de Guigui_
 
Homme
Ingénieur développement logiciels
Inscription : août 2002
Messages : 1 861
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 32
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Enseignement

Informations forums :
Inscription : août 2002
Messages : 1 861
Points : 8 455
Points : 8 455
La Release 3.0 est maintenant disponible : http://www.python.org/download/releases/3.0/
Guigui_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2008, 16h40   #9
kedare
Membre extrêmement actif
 
Avatar de kedare
 
Mathieu
Administrateur systèmes et réseaux
Inscription : juillet 2005
Messages : 1 482
Détails du profil
Informations personnelles :
Nom : Mathieu
Localisation : France

Informations professionnelles :
Activité : Administrateur systèmes et réseaux

Informations forums :
Inscription : juillet 2005
Messages : 1 482
Points : 1 387
Points : 1 387
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 ? :/
kedare est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2008, 22h03   #10
Bayard
Membre éprouvé
 
Avatar de Bayard
 
Inscription : juin 2002
Messages : 667
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 667
Points : 415
Points : 415
Citation:
A noter que pour le moment Python 3.0 que ces prédécesseurs
-> Pourriez-vous rajouter les mots manquants ?
__________________
Si tu ne vis pas ce que tu penses alors tu penses ce que tu vis.
Bayard est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 05/12/2008, 22h04   #11
legerf
Invité régulier
 
Homme
Inscription : novembre 2008
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : novembre 2008
Messages : 5
Points : 8
Points : 8
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 ...
legerf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2008, 23h40   #12
Matthieu Brucher
Rédacteur/Modérateur
 
Avatar de Matthieu Brucher
 
Matthieu Brucher
Développeur HPC
Inscription : juillet 2005
Messages : 9 697
Détails du profil
Informations personnelles :
Nom : Matthieu Brucher
Âge : 31
Localisation : France, Pyrénées Atlantiques (Aquitaine)

Informations professionnelles :
Activité : Développeur HPC
Secteur : Industrie

Informations forums :
Inscription : juillet 2005
Messages : 9 697
Points : 18 133
Points : 18 133
Citation:
Envoyé par kedare Voir le message
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 ? :/
Je ne trouve pas ça surprenant, c'est bien dans la philosophie Python, donc ça me va
Matthieu Brucher est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2008, 22h32   #13
vega95
Membre à l'essai
 
Inscription : octobre 2008
Messages : 56
Détails du profil
Informations forums :
Inscription : octobre 2008
Messages : 56
Points : 22
Points : 22
Par défaut Avis d'un néophyte Python

Hello,
je n'ai découvert Python que depuis 3 semaines Je connais en fait (un peu le C) avec lequel je fais mes petits programmes d'amateur du dimanche. Je trouve dommage que les développeurs de Python portent leurs efforts sur cette version 3.0, la 2.5 me paraissant pas mal Par contre, je trouve que certains points mériteraient une bonne amélioration. Entre autre , je pense surtout au déploiement. Une vraie cata ! Mon début de programme tarot sous wxpython finit avec une bonne quinzaine de dll et divers fichiers pour près de 12 Mo
Je n'ai pas trouvé de déploiement en statique et c'est très dommageable. Je trouve de plus qu'un compilateur optimisant la vitesse aurait été bien venu Le python se révèle très mais alors très lent comparé au C. Je m'y attendais mais pas à ce point là (facteur 100 ?). Bref, un petit compilateur me produisant un seul .exe avec les libs en statique et un code plus rapide m'aurait nettement plus intéressé Ceci n'est l'avis que d'un amateur

François
vega95 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2008, 23h02   #14
Matthieu Brucher
Rédacteur/Modérateur
 
Avatar de Matthieu Brucher
 
Matthieu Brucher
Développeur HPC
Inscription : juillet 2005
Messages : 9 697
Détails du profil
Informations personnelles :
Nom : Matthieu Brucher
Âge : 31
Localisation : France, Pyrénées Atlantiques (Aquitaine)

Informations professionnelles :
Activité : Développeur HPC
Secteur : Industrie

Informations forums :
Inscription : juillet 2005
Messages : 9 697
Points : 18 133
Points : 18 133
Citation:
Envoyé par vega95 Voir le message
Le python se révèle très mais alors très lent comparé au C. Je m'y attendais mais pas à ce point là (facteur 100 ?).
C'est surtout qu'on ne fait pas les mêmes choses en C qu'en Python De mon côté, je n'ai pas de telles différences de vitesse entre mes codes

Et si tu veux compiler, tu peux en partie -> Cython . Mais tu perds certains avantages de Python. On ne peux pas avoir le beurre et l'argent du beurre.

Pour le compilateur, il y a des utilitaires, comme py2exe, bbfreeze, ... Et pour le code plus rapide, il faudra attendre Pypy ou basculer sur IronPython ou Jython.
Matthieu Brucher est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2008, 09h23   #15
vega95
Membre à l'essai
 
Inscription : octobre 2008
Messages : 56
Détails du profil
Informations forums :
Inscription : octobre 2008
Messages : 56
Points : 22
Points : 22
Je ne connaissais pas PyPy Voilà typiquement un projet qui m'intéresse plus que la v 3.0
vega95 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2008, 10h14   #16
airod
Membre émérite
 
Avatar de airod
 
Homme Benoit Martiré
Synapse médical, Sèvres (92)
Inscription : août 2004
Messages : 722
Détails du profil
Informations personnelles :
Nom : Homme Benoit Martiré
Âge : 37
Localisation : France

Informations professionnelles :
Activité : Synapse médical, Sèvres (92)
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2004
Messages : 722
Points : 850
Points : 850
Envoyer un message via Skype™ à airod
Citation:
Le python se révèle très mais alors très lent comparé au C.
Python est certainement un peu plus lent que du C, c'est normal puisque Python est basé sur C. Maintenant pour rendre un programme python rapide il faut commencer par se remettre en question soit même en optimisant l'ecriture de son code, et en traquant les mauvaises ecriture (bien souvent hérité de pratique de programmation en C/C++)
Python demande au développeur d'être rigoureux et méthodique si il veut un programme performant.
Personnellement je commercialise un serveur de traitement d'images ecrit en Python. En comparant, les perf de mon serveur avec des concurrents ecrit en language compilé tel le C, je suis aussi rapide voir plus rapide dans certaines conditions.
Donc la remarque que python est lent, n'est pas trés pertinente en soit.
Amitié
__________________
Pensez à la documentation en ligne, ca aide!

"Heureux ceux qui se libèrent de leurs chaines"
"Ne faites simple que si vous savez faire compliqué aussi !"
airod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2008, 13h04   #17
Jiyuu
Rédacteur/Modérateur
 
Avatar de Jiyuu
 
Homme Charles-Elie GENTIL
Gérant PME
Inscription : janvier 2007
Messages : 1 346
Détails du profil
Informations personnelles :
Nom : Homme Charles-Elie GENTIL
Âge : 31
Localisation : France, Loire (Rhône Alpes)

Informations professionnelles :
Activité : Gérant PME
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : janvier 2007
Messages : 1 346
Points : 2 260
Points : 2 260
En ce qui me concerne j'utilise python depuis environ 1 an et je suis toujours rester sur la version 2.5 que je trouve vraiment bien.

Certains points me paraissent pas mal sur la version 3.0 et d'autres moins... il faudra que je me fasse une idée en l'utilisant.

Je me demande d'ailleurs s'il est possible de garder la version 2.5 pour continuer à coder avec tout en installant sur le même PC la version 3.0 pour l'essayer, ou faut-il utiliser un autre PC?
__________________
PyQt / PySide : Forum, Cours, Faq, Sources, Livres

En cas de besoin, pensez à la
Tutoriel PyQt/PySide - Documentation Qt sur Developpez.com

Mon site sur Developpez.com

Pas de question technique par MP... Les forums sont là pour ça
Jiyuu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2008, 19h39   #18
dividee
Membre Expert
 
Homme
Inscription : mars 2007
Messages : 852
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations forums :
Inscription : mars 2007
Messages : 852
Points : 1 184
Points : 1 184
Citation:
Envoyé par Jiyuu Voir le message
Je me demande d'ailleurs s'il est possible de garder la version 2.5 pour continuer à coder avec tout en installant sur le même PC la version 3.0 pour l'essayer, ou faut-il utiliser un autre PC?
On peut parfaitement installer 2 versions de Python sur le même système; le répertoire par défaut contient d'ailleurs le numéro de version (Python25, Python30). A l'installation de Python 3.0, il faut simplement choisir si tu veux associer les extensions (.py, .pyw, ...) avec la nouvelle version ou l'ancienne (sous Windows en tout cas). Mais rien n'empêche par après de lancer un .py avec l'une ou l'autre version.
dividee est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2008, 10h05   #19
Gamal le Celte
Membre éclairé
 
Homme
Inscription : mai 2002
Messages : 283
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Meurthe et Moselle (Lorraine)

Informations forums :
Inscription : mai 2002
Messages : 283
Points : 306
Points : 306
Citation:
Envoyé par Jiyuu Voir le message
En ce qui me concerne j'utilise python depuis environ 1 an et je suis toujours rester sur la version 2.5 que je trouve vraiment bien.

Certains points me paraissent pas mal sur la version 3.0 et d'autres moins... il faudra que je me fasse une idée en l'utilisant.

Je développe toujours en Python 2.5 au boulot et en Python 2.6 chez moi. C'est un peu obligatoire car les bibliothèques que j'utilise ne sont pas encore disponible pour Python 3. Ca viendra.

Je pense que nous sommes beaucoup dans ce cas.
Il ne faut pas perdre de vue que Python 3 est l'avenir de Python et qu'un jour, le choix ce fera de lui même, alors, dès que possible, il faudra bien utiliser Python 3. Rester sur Python 2 (déjà une vielle version) sans nécéssité est une abération, enfin je pense, ou alors il faut changer de langage, car Python 2 ne sera plus utiliser. Donc, la question n'est pas de savoir si l'on passe ou non à Python 3, mais quand y passer.
Gamal le Celte est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2008, 23h07   #20
Jiyuu
Rédacteur/Modérateur
 
Avatar de Jiyuu
 
Homme Charles-Elie GENTIL
Gérant PME
Inscription : janvier 2007
Messages : 1 346
Détails du profil
Informations personnelles :
Nom : Homme Charles-Elie GENTIL
Âge : 31
Localisation : France, Loire (Rhône Alpes)

Informations professionnelles :
Activité : Gérant PME
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : janvier 2007
Messages : 1 346
Points : 2 260
Points : 2 260
Citation:
Envoyé par Gamal le Celte Voir le message
Je développe toujours en Python 2.5 au boulot et en Python 2.6 chez moi. C'est un peu obligatoire car les bibliothèques que j'utilise ne sont pas encore disponible pour Python 3. Ca viendra.

Je pense que nous sommes beaucoup dans ce cas.
Il ne faut pas perdre de vue que Python 3 est l'avenir de Python et qu'un jour, le choix ce fera de lui même, alors, dès que possible, il faudra bien utiliser Python 3. Rester sur Python 2 (déjà une vielle version) sans nécéssité est une abération, enfin je pense, ou alors il faut changer de langage, car Python 2 ne sera plus utiliser. Donc, la question n'est pas de savoir si l'on passe ou non à Python 3, mais quand y passer.

Je suis entièrement d'accord avec toi. En fait actuellement j'utilise wxPython et à ma connaissance il n'est pas encore sorti pour Python 3.0
Je ne voyait donc pas l'intérêt de migrer tout de suite.

Ce pendant comme il est possible d'installer deux versions de python sur le même PC sans risque je vais m'y lancer.
D'ailleurs l'astuce de dividee est bien et je n'y avais pas du tout pensé. Je pense donc utiliser par exemple python 2.5 pour tout les extensions .py (comme aujourd'hui) et python 3.0 pour .pyw

Cela me permettra d'utiliser les deux versions.

Merci et bonne soirée
__________________
PyQt / PySide : Forum, Cours, Faq, Sources, Livres

En cas de besoin, pensez à la
Tutoriel PyQt/PySide - Documentation Qt sur Developpez.com

Mon site sur Developpez.com

Pas de question technique par MP... Les forums sont là pour ça
Jiyuu est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Actualité déjà publiée
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 08h11.


 
 
 
 
Partenaires

Hébergement Web