
Communiquer avec l'utilisateur : la fonction `print()`
Découvrez comment utiliser efficacement la fonction print() en Python pour afficher des messages, des variables, et contrôler le format de sortie. Essentiel pour tout développeur.
Les bases de `print()` : afficher du texte et des variables
La fonction `print()` est l'un des outils les plus fondamentaux et fréquemment utilisés en Python. Son rôle principal est d'afficher des informations à l'écran, que ce soit dans une console interactive, un terminal lors de l'exécution d'un script, ou même redirigé vers un fichier dans des contextes plus avancés. Pour un débutant, `print()` est la première fenêtre sur ce que fait le programme.
L'utilisation la plus simple de `print()` consiste à lui passer une chaîne de caractères littérale :
print("Bonjour, monde !")
print('Python est un langage interprété.') Vous pouvez également afficher la valeur d'une variable directement : nom_utilisateur = "Alice"
age = 30
print(nom_utilisateur) # Affichera : Alice
print(age) # Affichera : 30La fonction `print()` est très flexible et peut accepter plusieurs arguments. Par défaut, elle les affichera sur la même ligne, séparés par un espace :
partie1 = "Le ciel est"
partie2 = "bleu"
print(partie1, partie2, "aujourd'hui.") # Affichera : Le ciel est bleu aujourd'hui. Python convertit automatiquement les arguments non-chaînes (comme les nombres) en leur représentation textuelle avant de les afficher. Cela rend `print()` très pratique pour inspecter rapidement les valeurs.Formatage avancé avec `print()` : f-strings et autres méthodes
Bien que passer plusieurs arguments à `print()` soit utile, pour des affichages plus structurés et lisibles, notamment lorsque l'on mélange du texte fixe avec des valeurs de variables, les f-strings (chaînes formatées) sont la méthode moderne et recommandée en Python. Une f-string est une chaîne littérale préfixée par la lettre `f` (avant le guillemet ouvrant) qui permet d'embarquer des expressions Python directement à l'intérieur de la chaîne, en les plaçant entre accolades `{}`.
produit = "Ordinateur portable"
prix = 1200.50
quantite = 2
print(f"Article : {produit}, Prix unitaire : {prix}€, Quantité : {quantite}")
# Affichera : Article : Ordinateur portable, Prix unitaire : 1200.5€, Quantité : 2
print(f"Le coût total est de : {prix * quantite}€")
# Affichera : Le coût total est de : 2401.0€ Les f-strings permettent non seulement d'insérer des variables, mais aussi d'évaluer des expressions complexes directement dans la chaîne, ce qui les rend extrêmement puissantes et concises.Avant les f-strings (introduites en Python 3.6), d'autres méthodes de formatage existaient et sont encore parfois rencontrées, comme la méthode `format()` des chaînes ou l'opérateur `%` (style C). Bien que fonctionnelles, elles sont généralement considérées comme moins lisibles et plus verbeuses que les f-strings pour la plupart des cas d'usage courants.
# Avec la méthode format()
print("Article : {}, Prix unitaire : {}€, Quantité : {}".format(produit, prix, quantite))
# Avec l'opérateur %
print("Article : %s, Prix unitaire : %.2f€, Quantité : %d" % (produit, prix, quantite)) Pour les nouveaux projets, privilégiez les f-strings.Contrôler la sortie : les arguments `sep` et `end`
La fonction `print()` possède des arguments optionnels qui permettent de personnaliser davantage son comportement. Deux des plus utiles sont `sep` (séparateur) et `end` (terminaison).
L'argument `sep` permet de spécifier la chaîne de caractères qui sera utilisée pour séparer les différents arguments passés à `print()`. Par défaut, `sep` est un espace (`' '`). Si vous souhaitez un autre séparateur, vous pouvez le définir explicitement :
jour = 15
mois = "Mars"
annee = 2024
print(jour, mois, annee) # Affichage par défaut : 15 Mars 2024
print(jour, mois, annee, sep='/') # Affichage avec / : 15/Mars/2024
print(jour, mois, annee, sep='-') # Affichage avec - : 15-Mars-2024
print("Valeur1", "Valeur2", "Valeur3", sep=' | ') # Affichage avec | : Valeur1 | Valeur2 | Valeur3L'argument `end` contrôle ce qui est affiché à la toute fin de l'appel à `print()`. Par défaut, `end` est le caractère de saut de ligne (`'\n'`), ce qui explique pourquoi chaque appel à `print()` commence généralement sur une nouvelle ligne. Vous pouvez modifier cela pour, par exemple, faire en sorte que plusieurs appels à `print()` s'affichent sur la même ligne, ou pour utiliser un autre caractère de fin.
print("Premier morceau", end=' ')
print("Deuxième morceau", end='...')
print("Troisième morceau") # Celui-ci finira par un saut de ligne normal
# Affichera : Premier morceau Deuxième morceau...Troisième morceau
# Pour afficher une progression sur la même ligne (simplifié)
import time
for i in range(5):
print(f"Chargement {i*25}%", end='\r') # \r est un retour chariot, écrase la ligne
time.sleep(0.5)
print("Chargement terminé ! ") # Espaces pour effacer le reste de la ligne précédente Maîtriser `sep` et `end` vous donne un contrôle fin sur la mise en page de vos sorties textuelles.En résumé, `print()` est bien plus qu'une simple fonction d'affichage. C'est un outil polyvalent pour communiquer avec l'utilisateur, suivre le déroulement d'un programme, et mettre en forme des informations de manière claire et contrôlée. Son utilisation judicieuse est une compétence clé pour tout développeur Python.