Aller au contenu
Accueil » La fonction « print » en Python

La fonction « print » en Python

La fonction « print » est une fonction intégrée dans le langage Python. Elle est utilisée pour afficher de l’information pendant l’exécution de votre programme. Cette fonction est simple d’utilisation et propose également des fonctionnalités intéressantes. Nous parcourrons ensemble ces fonctionnalités au cours de cet article.

La forme la plus simple de l’utilisation de cette fonction permet d’afficher un texte. Voici un exemple avec la très connue formulation « Hello world ! ».

print('Hello world !')
>>> Hello world !
Python

Insérer une variable dans la fonction « print » en Python

L’intérêt de la fonction « print » est de pouvoir afficher la valeur d’une variable au fur et à mesure de l’exécution du programme. Vous pouvez alors alterner du texte et une variable en les séparant par une virgule. Voici un exemple avec une simple variable.

x = 3.14
print('La valeur de Pi peut être approximée par', x)
>>> La valeur de Pi peut être approximée par 3.14
Python

Lorsque que vous afficherez des nombres réels, suivant le nombre de chiffres après la virgule, vous pourrez obtenir des résultats pas très esthétiques. Avec la fonction « print », vous pouvez formatter les valeurs affichées de plusieurs manières. Une veille méthode consiste à utiliser l’opérateur modulo « % » suivi d’une clé de conversion. Les clés « d » et « f » donne respectivement un entier et un nombre réel. Vous pourrez trouver plus d’informations dans la documentation Python ici. En attendant voici quelques exemples :

x = 3.141592653589
print("Pi =",x)
print("Pi = %d" % x)
print("Pi = %5.3f" % x)
>>> 3.141592653589
>>> 3
>>> 3.142
Python

Cette vieille méthode reste difficile à lire dans un code. Une autre façon de formatter les variables et d’améliorer légèrement la lisibilité est d’utiliser la fonction « .format() ». Vous pourrez alors écrire votre phrase complètement en remplaçant les variables par des accolades. A l’intérieur de ces accolades, vous pourrez renseigner le format de la variable via l’expression « :n.mf » par exemple. La valeur de « n » impose la longueur minimum de la chaîne de caractère. La valeur de « m » donne le nombre de décimales et le caractère « f » donne le type de variable, ici un nombre réel (f pour float).

x = 3.141592653589
print("The valeur de Pi vaut {} environ".format(x))
print("Pi = {:20}".format(x))
print("Pi = {:5.3f}".format(x)) # identique à l'exemple précédent
print("Pi = {:.3f}".format(x))  # identique à la ligne précédente compte tenu de la valeur
>>> Pi = 3.141592653589
>>> Pi =       3.141592653589
>>> Pi = 3.142
>>> Pi = 3.142
Python

Vous pouvez bien entendu contrôler le format de base de la variable. Voici quelques exemples pour écrire la variable X en nombre base 10, en hexadécimale et en binaire.

x = 42
print('Decimal: "{:d}"'.format(x))
print('Hexadecimal: "{:x}"'.format(x))
print('Binary: "{:b}"'.format(x))

>>> Decimal: "42"
>>> Hexadecimal: "2a"
>>> Binary: "101010"
Python

Enfin, voici un exemple pour afficher plusieurs variables avec la fonction « print » et comment maîtriser leur position.

x = 5
y = 100
print("Dans mon panier j'ai {0:d} courgettes et {1:d} bananes.".format(x, y))
print("Dans mon panier j'ai {1:d} courgettes et {0:d} bananes.".format(x, y))

>>> "Dans mon panier j'ai 5 courgettes et 100 bananes."
>>> "Dans mon panier j'ai 100 courgettes et 5bananes."
Python

Le numéro devant les deux points « : » indique l’indice dans l’ordre d’apparition des variables dans la fonction « .format() ». Inverser l’ordre comme nous l’avons fait dans le second test nuit énormément à la lisibilité. Je ne vous le conseille pas du tout mais l’idée était de vous montrer cette fonctionnalité de la fonction « .format() ».

Ecrire dans un fichier avec la fonction « print » en Python

Lorsque vous interagissez avec un fichier et que vous souhaitez écrire des lignes avec des variables formattées, la fonction « print » peut être une solution. Pour se faire, vous devrez utiliser l’argument « file » de la fonction « print ». Nous allons utiliser l’instruction « with » qui permet d’ouvrir un fichier pour lecture / écriture. Dès que nous sortirons du bloc, le fichier texte sera automatiquement fermé et libéré pour le système. Cette instruction nous affranchit de la fonction « close ».

with open("fichier_pour_ecriture.txt", "w") as f:  # "w" pour writing
  print("Hello World !", file = f)
Python

Rajouter une tabulation ou un saut de ligne

Il est tout à fait possible de rajouter une tabulation ou un saut de ligne dans la fonction « print ». Vous utiliserez alors les séquences \t et \n respectivement. La fonction « print » reconnaitra la séquence et formattera la sortie avec la séquence que vous lui aurez donnée.

print("Cette ligne contient\tune tabulation.")
print("Cette ligne\ncontient un retour à la ligne.")

>>> Cette ligne contient	une tabulation.
>>> Cette ligne
>>> contient un retour à la ligne.
Python

Les séparateurs et les fins de ligne avec la fonction print

La fonction « print » offre également d’autres options de personnalisation dont font partie les caractères de ligne et les séparateurs. Le caractère de fin de ligne est par défaut « \n ». Ce caractère correspond à un retour chariot ou autre dit un retour à la ligne. Vous pouvez changer cette valeur pour changer le comportement de la fonction « print ».

print("Hello")
print("World")
print("Hello", end =" ")
print("World")
>>> Hello
>>> World
>>> Hello World
Python

Ensuite, le second paramètre très important avec la fonction « print » est le caractère de séparation. Par défaut, la fonction insère un espace. Avec l’argument « sep », vous pouvez modifier ce caractère pour changer le comportement de la fonction. Par exemple, si vous souhaitez écrire un fichier CSV, cet argument peut être très pratique.

x = 1
y = 2
z = 3
print(x, y, z)
print(x, y, z, sep=",")

>>> 1 2 3
>>> 1,2,3
Python

La fonctionnalité « f-strings »

Les chaînes de caractères littérales formattées appelées également « f-strings » ont été introduites à partir de la version 3.6. C’est une chaîne de caractère préfixée par « f » ou « F ». Ces chaînes accueillent des champs entre accolades à remplacer, un peu comme la fonction « .format » vu précédemment. A la différence de cette dernière, le nom de la variable se trouve directement entre les accolades au lieu de la retrouver en fin de ligne.

prenom = "Victor"
print(f"Bonjour {prenom} !")
>>> Bonjour Victor !

x = 3.141592653589
print(f"La valeur de Pi est environ {x:.3f}")
>>> La valeur de Pi est environ 3.142
Python

On retrouve ici la manière de formatter une variable de la fonction « .format() » mais cette fois-ci directement avec le nom de la variable directement dans les accolades. Ceci permet d’éviter des inversions d’ordre d’apparition comme nous avons pu le voir précédemment. De plus, la ligne de code est plus lisible dans le sens où on sait directement quelle variable sera affichée. Voici un autre exemple où vous pouvez utiliser les « f-strings » pour formatter une date. A partir de la variable qui contient la date, vous pourrez formatter la chaîne de caractère pour insérer la date dans le nom d’un fichier.

import datetime
day = datetime.date(2050, 1, 1)
filename = f"output_{day:%Y-%m-%d}.txt"
print(filename)
>>> "output_2050-01-01.txt"
Python

Pour aller plus loin

Pour conclure, nous avons vu ensemble les principales fonctionnalités de la fonction « print ». Vous pourrez maîtriser les formats de sortie de vos variables et personnaliser le comportement de la fonction. Bien gérer les séparateurs, le caractère de fin de ligne, etc … vous permettra d’écrire des fichiers lisibles très facilement. De plus, ils vous permettront de formatter facilement un fichier texte pour qu’il soit compatible avec le format CSV par exemple. Si vous souhaitez aller plus loin dans cette fonction, je vous recommande de lire la documentation associée ici sur le site officiel.

Merci de m’avoir lu, n’hésitez pas à laisser un commentaire, j’y répondrai avec plaisir.
A bientôt,
Benjamin

Si vous avez aimé l'article, vous êtes libres de le partager ! :)

Laisser un commentaire