Fiche 1 – Passage de Python 2.x à Python 3.x
Informatique
Fiche
1 – Passage de Python 2.x à Python 3.x
Objectifs :
1. Connaître les principaux changements
I. Les commandes d’interfaces
1 Les « print »
Important : Changements...
print devient une fonction. Il faut donc l’utiliser avec des parenthèses.
a) Dans la version 2.x
code Python
1>>> print 1.5 # Affiche un élément
21.5
3>>> print 1.5 ,2 ,3.14 # Plusieurs éléments séparés par des virgules
41.5 2 3.14 # ...affiche la liste des éléments à afficher
5>>> print (1 ,2 ,3) # Si on mets des parenthèses...
6(1 ,2 ,3) # ... renvoie un t-uple.
b) Dans la version 3.x
code Python
1>>>print(1. 5) # Affiche un élément
21.5
3>>> print(1.5,2,3.14) # Plusieurs éléments séparés par des virgules
41.5 2 3.14 # (attention ce n’est plus un t-uple)
5>>> print((1 ,2 ,3)) # Affiche d’un t-uple
6(1 ,2 ,3)
2 Afficher les « range »
Important : Changements...
La fonction range fonctionne encore très bien avec les fonctions d’itérations (boucles for,. . .).
Mais elle ne s’affiche pas dans le terminal comme on le souhaiterait.
Il faut explicitement lui imposer un type list pour l’afficher.
Lycée Gustave Eiffel de Dijon 1 / 3 Spé
Année 2014/2015
Fiche 1 – Passage de Python 2.x à Python 3.x
a) Dans la version 2.x
code Python
1>>> rang e (5 ,10) # Si on affiche un "range"...
2[5 , 6, 7 , 8, 9] # ... cela nous renvoie la liste
b) Dans la version 3.x
code Python
1>>> rang e (5 ,10) # Si on affiche un "range"...
2rang e (5 ,10) # ... cela nous renvoie le range tel quel.
3>>> list ( ra ng e (5 ,10)) # Si on explicite le type "list"...
4[5 , 6, 7 , 8, 9] # ... cela nous renvoie la liste
3 Affichage des chaînes de caractères avec accents
Important : Changements...
Le codage est déjà au format unicode. Plus besoin de préciser le codage lorsque l’on veut
afficher une chaîne de caractères avec accents.
a) Dans la version 2.x
code Python
1>>> print " élé ph ant " # Sans codage particulier
2~ A©l ~ A ©phant # ... problème d’accents
3>>> print(u" él éphan t ")# avec codage unicode
4élé ph ant # ... cela s’affiche bien
b) Dans la version 3.x
code Python
1>>> print(" él éphan t ")# Sans codage particulier
2élé ph ant
II. Calculs
1 La division
Important : Changements...
Maintenant, le symbole divisé /renvoie nécessairement un float. Notamment dans le cas des
divisions d’entiers, le résultat sera bien la division classique, et non plus la division euclidienne.
Pour retrouver le comportement de division euclidienne, on utilise le symbole //.
Note : il est possible d’avoir le même comportement avec Python 2.x en mettant en entête
a) Version 2.x
Lycée Gustave Eiffel de Dijon 2 / 3 Spé
Année 2014/2015
Fiche 1 – Passage de Python 2.x à Python 3.x
code Python
1>>> 1./2. # Division de floats...
20.5 # ...renvoie un float
3>>> 1/2 # Division d’entiers...
40# ...renvoie un entier (division euclidienne)
b) Version 3.x
code Python
1>>> 1/2 # Division (entier ou float)...
20.5 # ...renvoie un float
3>>> 2/1
42.0 # ...même si le résultat pourrait être entier
5>>> 1//2 # Division avec double //
60# ... renvoie le quotient de la division euclidienne.
Lycée Gustave Eiffel de Dijon 3 / 3 Spé
Année 2014/2015
1 / 3 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !