La fonction print en Python
Vous voulez savoir comment afficher des choses en Python ? Vous pensez tout connaître sur la fonction print
?
Alors cet article complet sur la fonction print est fait pour vous !
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 :
- D’afficher tout ce qu’on veut en Python
- D’afficher du texte en couleur
- De modifier son formatage avec l’aide d’autres paramètres comme
sep
etend
Commençons sans plus tarder à explorer toutes les capacités de la fonction print en Python 3 (et Python 2 en fin d’article) !
Comment utiliser la fonction print en Python ?
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)
Comment afficher des variables en plus du texte ?
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.
La concaténation avec print
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.
Explications :
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 en Python
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 f-string en Python
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 paramètre sep pour la fonction print en Python
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
Le paramètre end pour la fonction print en Python
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
Utiliser sep et end avec la fonction print en Python
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 !
Comment changer la couleur de print en Python ?
Il est possible de changer la couleur du texte qu’on affiche dans le terminal avec Python.
Si vous voulez en apprendre plus sur le sujet, j’ai écrit un article complet sur le changement de couleur en Python.
La fonction print sur Python 2
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)
Je m'appelle Thomas, et je code depuis plus de 20 ans. Depuis ma sortie de la première promotion de l'École 42, j'ai conçu et développé des centaines d'applications et de sites web. Sur ce blog, je partage avec vous les stratégies les plus efficaces pour maîtriser l'art de coder et progresser rapidement.