La fonction print permet d’afficher le contenu d’un ou plusieurs objet(s) dans la console. La syntaxe de la fonction est print suivi de parenthèses : print (a, b, c). Le message sera transformé en chaîne de caractères peu importe le type des objets passés en paramètres.
Si le contenu d’un objet ne peux pas être affiché de manière lisible pour un humain, print affichera la référence de l’objet.
print('commentcoder.com') # commentcoder.com print('commentcoder.com', 42, [1, 2, 3]) # commentcoder.com 42 [1, 2, 3] def test(): pass print(test) # <function test at 0x142424242>
La fonction print permet entre autres :
Commençons sans plus tarder à explorer toutes les capacités de la fonction print en Python 3 (et Python 2 en fin d’article) !
Pour utiliser la fonction print en Python, on lui passe des paramètres qui seront transformés en strings :
# Afficher une chaîne de caractères : print("Bienvenue sur commentcoder.com") # Affichera "commentcoder.com" sur la sortie standard # Afficher un nombre : print(42) # Affichera "42" sur la sortie standard # Afficher le contenu d'une variable : nombre = 42 print(nombre) # Affichera "42" sur la sortie standard
Il est aussi possible d’afficher plusieurs objets Python avec la fonction print :
## Afficher plusieurs objets : print(1, 2, 3) # Afficher "1 2 3" # On peut aussi mixer les types d'objets : print('École', 42) # Afficher "École 42" # En utilisant l'unpacking/destructuration liste = [1, 2, 3, 4, 5] print(liste[0], *liste[1:-1], liste[-1]) # Affichera 1 2 3 4 5 # Explications : # liste[0] = 1 (le premier élément de la liste) # liste[1:-1] = [2, 3, 4] (les éléments en partant du 1er non-inclus, jusqu'au dernier non-inclus) # L'opérateur * permet de déstructurer la liste [2, 3, 4] en 3 nombres 2, 3 et 4 # liste[-1] = 5 (le dernier élément de la liste)
Il est possible d’afficher le contenu de variables en plus de strings (chaines de caractères) avec la fonction print en Python. La méthode la plus couramment utilisée est probablement celles des chaînes de caractères littérales formatées (ou f-strings) mais il existe d’autres manières d’afficher des variables en plus du texte.
Voyons les 3 plus courantes ensemble.
En Python et avec la fonction print, on peut concaténer (coller des strings ensemble) avec l’opérateur + ou bien en passant plusieurs paramètres à print.
un = 1 deux = 2 trois = 3 print('Un : ' + str(un) + ' deux : ' + str(deux) + ' trois : ' + str(trois)) print('Un', un, 'deux :', deux, 'trois :', trois) ##Tous les deux donnent Un 1 deux : 2 trois : 3 sur la sortie standard.
Quand on utilise l’opérateur +, il faut que tous les éléments soient du même type pour finalement être castés (transformés) en strings.
Dans l’exemple si dessus, j’utilise sont la fonction str() pour transformer nos nombres en objets de type string.
Quand on utilise les virgules, le séparateur par défaut est , , on a donc pas besoin de mettre des espaces comme quand utilise le +.
La méthode format permet d’afficher le contenu de variables directement dans une chaîne de caractères en Python en utilisant les accolades {} pour définir où placer la valeur des objets.
# On peut passer des variables avec la méthode format variable_1 = 'a' variable_2 = 'b' print('Alef = {}, Bet = {}'.format(variable_1, variable_2)) # On peut aussi directement utiliser des constantes print('wahid = {}, ithnan = {}'.format(1, 2))
Les chaînes de caractères littérales formatées ou f-string permettent d’afficher des variables en plus de texte avec la fonction print en Python.
# On peut afficher le contenu d'une variable dans une f-string : reponse = 42 print(f'Quelle est la réponse au sens de la vie ? {reponse}') # Quelle est la réponse au sens de la vie ? 42 # On peut afficher autant d’éléments de tous types qu'on veut, comme des constantes : print(f'Un : {1}, deux : {2}, trois : {3}') # Un : 1, deux : 2, trois : 3
Le séparateur par défaut entre les arguments pour la fonction print en Python est un espace : ' '. On peut passer une valeur au paramètre sep à la fonction print() pour remplacer cet espace par n’importe quelle autre chaîne de caractères en Python 3.
Voici quelques exemples d’utilisation du paramètre sep pour la fonction print en Python.
# Cas de base sans l'utilisation du paramètre sep : print(1, 2, 3) # 1 2 3 # Utiliser des virgules pour séparer des variables : print(1, 2, 3, sep=',') # 1,2,3 print(1, 2, 3, sep=', ') # 1, 2, 3 # Enlever l'espace mis par défaut : print(1, 2, 3, sep='') # 123
La fonction print() fini son affichage par un retour à la ligne (\n) par défaut. Il est possible de modifier ce comportement de base en utilisant paramètre end pour afficher une autre chaîne de caractères à la place.
Voici quelques exemples d’utilisation du paramètre end pour la fonction print en Python.
# Cas de base sans l'utilisation du paramètre end : print(1) print(2) print(3) """ Affichera : 1 2 3 """ # Enlever le retour à la ligne print("1", end='') print("2", end='') print("3", end='') # Donnera : 123 # Utiliser un espace en fin de print print("1", end=' ') print("2", end=' ') print("3") # Donnera : 1 2 3 # Utiliser un espace en fin de print print("contact", end='@') print("commentcoder", end='.') print("com") # Donnera : contact@commentcoder.com
On peut aussi utiliser les paramètres sep et end ensemble :
# Pour afficher une date suivi d'un point d'exclamation et un retour à la ligne print('12', '08', '2023', sep="/", end=" !\n") # Donnera : 12/08/2023 !
Il est possible de changer la couleur du texte qu’on affiche dans le terminal avec Python.
Dans la version 2 de Python, print n’était pas une fonction mais une instruction. Si vous codez en Python 2, vous pouvez utiliser print avec ou sans parenthèses. L’instruction print en Python 2 prend un nombre indéfini d’arguments et les affiche en les séparant par un espace.
Pour afficher une variable ma_variable qui a la valeur 42 par exemple, on peut écrire ça de deux manière en Python 2 :
print ma_variable print(ma_variable) ##Les 2 résultats sont les mêmes, la valeur 42 est affichée sur la sortie standard.
Comme on l’a vu, il est aussi possible de print plusieurs nombres d’un coup.
Afficher plusieurs variables séparées par des espaces en Python 2 avec l’instruction print :
print 'a', 2, [1, 2, 3] ##Renvoie sur la sortie standard : a 2 [1, 2, 3]
En utilisant les parenthèses sur plusieurs nombres en Python 2 on affiche en fait un tuple.
En Python (42) vaut 42 car les parenthèses sont inutiles.
L’instruction print(42) fera abstraction des parenthèses pour afficher la valeur 42 directement.
En utilisant print avec plusieurs variables et des parenthèses print(1, 2, 3), c’est le tuple (1, 2, 3) qui sera afficher sur la sortie standard.
Si vous voulez utiliser la fonction print() similaire à celle de Python 3 (pour afficher plusieurs objets sans qu’ils deviennent un tuple par exemple), vous pouvez utilisez import print_function du module future qui existe en Python 2.7 pour transformer vos print en fonctions :
from __future__ import print_function print(1, 2, 3) ##Renvoie bien 1 2 3 et non pas (1, 2, 3)