Python: le mot-clé print: Difference between revisions
Wiki-cours (talk | contribs) |
|||
(7 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
__NOTOC__ | |||
[[Memento_Python|<--Sommaire]] | |||
== Mécanismes de base == | == Mécanismes de base == | ||
=== Résumé des différences Python 2 / Python 3 === | |||
{| class="wikitable" border="1" | |||
! Python 2.7 | |||
! Python 3.4 | |||
|----- | |||
| print "Bonjour" | |||
| print("Bonjour") | |||
|-{{ligne grise}} | |||
| print 10, a, exp(4.) | |||
| print(10, a, exp(4.)) | |||
|----- | |||
| print "\n".join([x, y]) | |||
| print(x, y, sep="\n") | |||
|-{{ligne grise}} | |||
| print "une ligne ", | |||
| print("une ligne", end="") | |||
|} | |||
=== En Python 3.4 === | |||
L'affichage se fait à l'aide de la fonction '''print()'''. Les parenthèses sont indispensables. | |||
Comme illustré ci-dessus, la fonction '''print''' possède plusieurs arguments optionnels qui aident à la mise en forme de l'affichage. | |||
=== En Python 2.7 === | |||
L'affichage se fait par le mot-clé '''print''', ou, de manière équivalente, la fonction '''print()''' | |||
<source lang="py"> | <source lang="py"> | ||
print 2*3 | print 2*3 | ||
print(2*3) | |||
</source> | </source> | ||
Une nouvelle ligne est créée (retour à la ligne) après exécution. Si l'on veut éviter cela, il faut rajouter une virgule à la fin de l'expression: | Une nouvelle ligne est créée (retour à la ligne) après exécution. Si l'on veut éviter cela, il faut rajouter une virgule à la fin de l'expression: | ||
Line 18: | Line 48: | ||
De manière plus générale, pour afficher une séquence compliquée, le mieux est de créer une chaîne de caractère correspondant à l'affichage puis de l'afficher. Cela peut être plus efficace également. | De manière plus générale, pour afficher une séquence compliquée, le mieux est de créer une chaîne de caractère correspondant à l'affichage puis de l'afficher. Cela peut être plus efficace également. | ||
<source lang="py"> | <source lang="py"> | ||
print "".join(['_']* | print "".join((['_']*5+['(o_o)'])*5+['_']*5) | ||
</source> | </source> | ||
Line 28: | Line 58: | ||
format(pi,'.10f') | format(pi,'.10f') | ||
</source> | </source> | ||
La fonction '''format''' est dans ce cas limitée à deux arguments. | |||
Une commande équivalente est | Une commande équivalente est | ||
<source lang="py"> | <source lang="py"> | ||
Line 36: | Line 67: | ||
<source lang="py"> | <source lang="py"> | ||
moyenne = 10.5323 | moyenne = 10.5323 | ||
print "Moyenne : {:.2f}".format(moyenne) | print("Moyenne : {:.2f}".format(moyenne)) | ||
</source> | |||
Ce mécanisme peut être utilisé pour varier le formatage au sein de la chaîne de caractère et prendre une liste de valeurs en argument. Par exemple: | |||
<source lang="py"> | |||
print("{:.1f} {:.5f} {:.10f}".format(pi,2*pi,3*pi)) | |||
</source> | </source> | ||
Pour en savoir plus: [https://docs.python.org/2/library/string.html#formatspec documentation en anglais] | Pour en savoir plus: [https://docs.python.org/2/library/string.html#formatspec documentation en anglais] |
Latest revision as of 17:33, 26 September 2018
Mécanismes de base
Résumé des différences Python 2 / Python 3
Python 2.7 | Python 3.4 |
---|---|
print "Bonjour" | print("Bonjour") |
print 10, a, exp(4.) | print(10, a, exp(4.)) |
print "\n".join([x, y]) | print(x, y, sep="\n") |
print "une ligne ", | print("une ligne", end="") |
En Python 3.4
L'affichage se fait à l'aide de la fonction print(). Les parenthèses sont indispensables.
Comme illustré ci-dessus, la fonction print possède plusieurs arguments optionnels qui aident à la mise en forme de l'affichage.
En Python 2.7
L'affichage se fait par le mot-clé print, ou, de manière équivalente, la fonction print()
print 2*3
print(2*3)
Une nouvelle ligne est créée (retour à la ligne) après exécution. Si l'on veut éviter cela, il faut rajouter une virgule à la fin de l'expression:
print 'a',
print 'b',
print 'c'
Cela peut être utile pour afficher des résultats horizontalement:
for i in range(10):
print i**2,
De manière plus générale, pour afficher une séquence compliquée, le mieux est de créer une chaîne de caractère correspondant à l'affichage puis de l'afficher. Cela peut être plus efficace également.
print "".join((['_']*5+['(o_o)'])*5+['_']*5)
Formatage
On peut choisir un formatage particulier pour l'affichage à l'aide de la fonction format. Par exemple, pour afficher avec 10 chiffres significatifs, on utilisera
from math import pi
format(pi,'.10f')
La fonction format est dans ce cas limitée à deux arguments. Une commande équivalente est
"{:.10f}".format(pi)
Dans laquelle "{:(...)}" va remplacer l'argument de format par la chaîne de caractère correspondant au format déterminé par (...). On peut ainsi inclure le résultat du formatage directement à l'intérieur d'une chaîne de caractère plus longue:
moyenne = 10.5323
print("Moyenne : {:.2f}".format(moyenne))
Ce mécanisme peut être utilisé pour varier le formatage au sein de la chaîne de caractère et prendre une liste de valeurs en argument. Par exemple:
print("{:.1f} {:.5f} {:.10f}".format(pi,2*pi,3*pi))
Pour en savoir plus: documentation en anglais