Python: le mot-clé print

From Wiki Cours
Jump to navigation Jump to search

<--Sommaire

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