Print en Python : afficher du texte et des variables

Découvrez la fonction print() en Python : syntaxe, paramètres, formatage et exemples pratiques pour afficher du texte et des données dans la console.
10 min de lecture
Believemy logo

Si vous débutez en programmation, la fonction print() sera probablement la première que vous utiliserez en Python. Cette fonction fondamentale permet d'afficher du texte, des variables et des résultats directement dans la console, ce qui en fait un outil indispensable pour le développement et le débogage de vos programmes.

Maîtriser print() est essentiel pour tout développeur Python, qu'il soit débutant ou confirmé. Cette fonction vous accompagnera tout au long de votre apprentissage, notamment si vous suivez notre formation complète pour apprendre Python. Dans cet article, nous allons explorer en profondeur toutes les possibilités offertes par cette fonction incontournable.

Bon à savoir

💡 La fonction print() est souvent le premier contact d'un développeur avec Python. Elle permet de visualiser instantanément le résultat de vos instructions !


Définition et syntaxe de base

Qu'est-ce que la fonction print() ?

La fonction print() est une fonction native de Python (built-in function) qui permet d'afficher des informations dans la sortie standard, généralement la console ou le terminal. Elle convertit automatiquement les objets en chaînes de caractères avant de les afficher, ce qui la rend extrêmement polyvalente.

Contrairement à certains langages de programmation où l'affichage peut être complexe, Python rend cette opération simple et intuitive grâce à print().


Syntaxe complète

Voici la signature complète de la fonction print() :

PYTHON
print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

Cette syntaxe peut sembler intimidante au premier abord, mais ne vous inquiétez pas : nous allons décortiquer chaque paramètre en détail.


Les paramètres expliqués

ParamètreDescriptionValeur par défaut
*objectsLes objets à afficher (peut être multiple)Aucun
sepSéparateur entre les objetsEspace ' '
endCaractère ajouté à la finRetour à la ligne '\n'
fileFlux de sortiesys.stdout
flushForcer l'écriture immédiateFalse


Exemples pratiques de base

Afficher du texte simple

Commençons par l'utilisation la plus élémentaire de print() : afficher une chaîne de caractères.

PYTHON
# Afficher un message simple
print("Bienvenue sur Believemy !")

# Afficher avec des guillemets simples
print('Apprenez Python facilement')

# Afficher une chaîne vide (crée une ligne vide)
print()

Ces exemples produiront les sorties suivantes dans votre console :

BASH
Bienvenue sur Believemy !
Apprenez Python facilement


Afficher des variables

La fonction print() est particulièrement utile pour afficher la valeur de vos variables. Python convertit automatiquement les différents types de données en texte affichable.

PYTHON
# Variables de différents types
nom_formation = "Python"
nombre_apprenants = 1500
prix = 49.99
est_disponible = True

# Afficher chaque variable
print(nom_formation)       # Affiche: Python
print(nombre_apprenants)   # Affiche: 1500
print(prix)                # Affiche: 49.99
print(est_disponible)      # Affiche: True


Afficher plusieurs éléments

Vous pouvez passer plusieurs arguments à print(), qui les affichera séparés par des espaces par défaut.

PYTHON
# Combiner texte et variables
apprenant = "Marie"
points = 850

print("Félicitations", apprenant, "! Vous avez", points, "points.")
# Affiche: Félicitations Marie ! Vous avez 850 points.
Attention

Attention : chaque argument passé à print() est automatiquement converti en chaîne de caractères. Cela fonctionne avec la plupart des types, mais certains objets personnalisés peuvent nécessiter une méthode __str__() pour un affichage correct.


Le formatage avancé avec print()

Les f-strings (formatage moderne)

Depuis Python 3.6, les f-strings constituent la méthode recommandée pour formater vos chaînes. Elles sont lisibles, performantes et très pratiques.

PYTHON
# Utilisation des f-strings
formation = "Python"
duree_heures = 40
niveau = "débutant"

print(f"La formation {formation} dure {duree_heures} heures.")
print(f"Elle est adaptée au niveau {niveau}.")

# Expressions dans les f-strings
prix_ht = 100
tva = 0.20
print(f"Prix TTC : {prix_ht * (1 + tva):.2f} €")
# Affiche: Prix TTC : 120.00 €

Les f-strings permettent également d'exécuter des expressions directement à l'intérieur des accolades, comme nous le voyons avec le calcul du prix TTC.


La méthode format()

Avant les f-strings, la méthode format() était la référence pour le formatage de chaînes. Elle reste utile dans certains contextes.

PYTHON
# Formatage avec format()
print("Bonjour {} ! Bienvenue sur {}".format("Alice", "Believemy"))

# Avec des indices
print("{0} apprend {1}. {0} progresse vite !".format("Lucas", "Python"))

# Avec des noms
print("{nom} suit la formation {cours}".format(nom="Emma", cours="Python"))


L'opérateur % (ancienne méthode)

Cette syntaxe héritée du langage C est encore présente dans du code ancien, mais nous vous recommandons d'utiliser les f-strings pour tout nouveau projet.

PYTHON
# Formatage avec %
nom = "Believemy"
annee = 2024

print("Bienvenue sur %s en %d" % (nom, annee))
# %s pour les chaînes, %d pour les entiers, %f pour les flottants


Personnaliser le comportement de print()

Le paramètre sep (séparateur)

Par défaut, print() sépare les arguments par un espace. Le paramètre sep vous permet de personnaliser ce séparateur.

PYTHON
# Séparateur par défaut (espace)
print("Python", "Java", "JavaScript")
# Affiche: Python Java JavaScript

# Séparateur personnalisé
print("Python", "Java", "JavaScript", sep=" | ")
# Affiche: Python | Java | JavaScript

# Séparateur avec retour à la ligne
print("Étape 1", "Étape 2", "Étape 3", sep="\n")
# Affiche:
# Étape 1
# Étape 2
# Étape 3

# Sans séparateur
print("B", "e", "l", "i", "e", "v", "e", "m", "y", sep="")
# Affiche: Believemy


Le paramètre end (fin de ligne)

Le paramètre end définit ce qui est ajouté après l'affichage. Par défaut, c'est un retour à la ligne (\n).

PYTHON
# Comportement par défaut
print("Ligne 1")
print("Ligne 2")
# Affiche:
# Ligne 1
# Ligne 2

# Empêcher le retour à la ligne
print("Chargement", end="")
print(".", end="")
print(".", end="")
print(".")
# Affiche: Chargement...

# Terminaison personnalisée
print("Progression", end=" -> ")
print("Terminé !")
# Affiche: Progression -> Terminé !
Bon à savoir

🎯 Astuce : combinez sep et end pour créer des affichages personnalisés, comme des barres de progression ou des menus interactifs !


Écrire dans un fichier avec file

Le paramètre file permet de rediriger la sortie vers un fichier au lieu de la console.

PYTHON
# Écrire dans un fichier
with open("log_believemy.txt", "w") as fichier:
    print("Début de la session", file=fichier)
    print("Utilisateur connecté", file=fichier)
    print("Formation Python démarrée", file=fichier)

# Le fichier contiendra:
# Début de la session
# Utilisateur connecté
# Formation Python démarrée


Le paramètre flush

Par défaut, Python met en mémoire tampon les sorties pour optimiser les performances. Le paramètre flush=True force l'écriture immédiate.

PYTHON
import time

# Sans flush - peut ne pas s'afficher immédiatement
for i in range(5):
    print(f"Étape {i+1}/5", end="\r")
    time.sleep(1)

# Avec flush - affichage immédiat garanti
for i in range(5):
    print(f"Étape {i+1}/5", end="\r", flush=True)
    time.sleep(1)


Cas d'utilisation courants

Débogage simple

L'un des usages les plus fréquents de print() est le débogage rapide de votre code.

PYTHON
def calculer_moyenne(notes):
    print(f"DEBUG: Notes reçues = {notes}")  # Vérifier l'entrée
    
    if not notes:
        print("DEBUG: Liste vide détectée")  # Point de contrôle
        return 0
    
    total = sum(notes)
    print(f"DEBUG: Total = {total}")  # Vérifier le calcul
    
    moyenne = total / len(notes)
    print(f"DEBUG: Moyenne = {moyenne}")  # Vérifier le résultat
    
    return moyenne

# Test
resultat = calculer_moyenne([15, 18, 12, 16])
Attention

Pour un débogage plus avancé, pensez à utiliser le module logging de Python ou un débogueur intégré à votre IDE. La fonction print() est parfaite pour des vérifications rapides, mais peut devenir difficile à gérer dans des projets complexes.


Afficher des structures de données

La fonction print() fonctionne parfaitement avec les structures de données Python comme les list, les dict et les tuple.

PYTHON
# Afficher une liste
formations = ["Python", "JavaScript", "React"]
print(formations)
# Affiche: ['Python', 'JavaScript', 'React']

# Afficher un dictionnaire
apprenant = {
    "nom": "Sophie",
    "niveau": "intermédiaire",
    "points": 1200
}
print(apprenant)
# Affiche: {'nom': 'Sophie', 'niveau': 'intermédiaire', 'points': 1200}

# Afficher un tuple
coordonnees = (48.8566, 2.3522)
print(coordonnees)
# Affiche: (48.8566, 2.3522)


Affichage formaté avec pprint

Pour un affichage plus lisible des structures complexes, le module pprint (pretty print) est recommandé.

PYTHON
from pprint import pprint

donnes_formation = {
    "titre": "Formation Python Complète",
    "modules": [
        {"nom": "Introduction", "duree": 2},
        {"nom": "Variables et types", "duree": 3},
        {"nom": "Structures de contrôle", "duree": 4},
        {"nom": "Fonctions", "duree": 5}
    ],
    "niveau": "débutant",
    "prix": 49.99
}

# Avec print standard
print(donnes_formation)

# Avec pprint (plus lisible)
pprint(donnes_formation)


Bonnes pratiques et erreurs courantes

Bonnes pratiques

Voici les recommandations pour utiliser print() de manière professionnelle :

  • Utilisez les f-strings pour le formatage : elles sont plus lisibles et plus performantes
  • Supprimez les print() de débogage avant de mettre votre code en production
  • Préférez le module logging pour les applications professionnelles
  • Documentez vos sorties avec des libellés clairs (ex: print(f"Résultat: {valeur}"))
  • Utilisez des commentaire pour expliquer les print() temporaires


Erreurs fréquentes à éviter

PYTHON
# ❌ Erreur : parenthèses manquantes (Python 2 vs Python 3)
# print "Bonjour"  # SyntaxError en Python 3

# ✅ Correct
print("Bonjour")

# ❌ Erreur : concaténation de types différents
age = 25
# print("J'ai " + age + " ans")  # TypeError

# ✅ Correct : utiliser f-string ou str()
print(f"J'ai {age} ans")
print("J'ai " + str(age) + " ans")

# ❌ Erreur : oublier les virgules entre arguments
# print("A" "B" "C")  # Affiche: ABC (concaténation implicite)

# ✅ Correct : avec virgules
print("A", "B", "C")  # Affiche: A B C


Une confusion fréquente chez les débutants concerne la différence entre print() et return dans les fonctions définies avec def.

PYTHON
# print() affiche mais ne retourne rien
def afficher_somme(a, b):
    print(a + b)  # Affiche le résultat
    # Ne retourne rien (retourne None implicitement)

# return retourne une valeur utilisable
def calculer_somme(a, b):
    return a + b  # Retourne le résultat

# Démonstration de la différence
resultat1 = afficher_somme(5, 3)  # Affiche: 8
print(f"Résultat 1: {resultat1}")  # Affiche: Résultat 1: None

resultat2 = calculer_somme(5, 3)  # N'affiche rien
print(f"Résultat 2: {resultat2}")  # Affiche: Résultat 2: 8
Bon à savoir

📝 Retenez : print() sert à afficher des informations pour l'utilisateur ou le développeur, tandis que return sert à renvoyer une valeur qui pourra être utilisée ailleurs dans le programme.


Utilisation avancée de print()

Créer une barre de progression

Grâce aux paramètres end et flush, vous pouvez créer des affichages dynamiques.

PYTHON
import time

def barre_progression(total):
    for i in range(total + 1):
        pourcentage = (i / total) * 100
        barre = "█" * i + "░" * (total - i)
        print(f"\r[{barre}] {pourcentage:.0f}%", end="", flush=True)
        time.sleep(0.1)
    print()  # Nouvelle ligne à la fin

# Utilisation
print("Téléchargement de la formation...")
barre_progression(20)
print("Téléchargement terminé !")


Affichage coloré dans le terminal

Vous pouvez utiliser des codes ANSI pour ajouter de la couleur à vos affichages.

PYTHON
# Codes couleur ANSI
ROUGE = "\033[91m"
VERT = "\033[92m"
JAUNE = "\033[93m"
BLEU = "\033[94m"
RESET = "\033[0m"

print(f"{VERT}✓ Succès : Formation Python complétée !{RESET}")
print(f"{ROUGE}✗ Erreur : Fichier non trouvé{RESET}")
print(f"{JAUNE}⚠ Attention : Cette action est irréversible{RESET}")
print(f"{BLEU}ℹ Info : Nouvelle mise à jour disponible{RESET}")


Redéfinir print() (déconseillé)

Il est techniquement possible de redéfinir print(), mais cette pratique est fortement déconseillée car elle peut créer des comportements inattendus.

PYTHON
# À titre éducatif uniquement - NE PAS FAIRE EN PRODUCTION
original_print = print

def print(*args, **kwargs):
    original_print("[LOG]", *args, **kwargs)

print("Message de test")
# Affiche: [LOG] Message de test

# Restaurer le comportement original
print = original_print


Questions fréquentes sur print()

Question

Quelle est la différence entre print() en Python 2 et Python 3 ?

En Python 2, print était une instruction (statement) et s'écrivait sans parenthèses : print "Bonjour". En Python 3, print() est devenue une fonction à part entière, nécessitant obligatoirement des parenthèses. Cette évolution a permis d'ajouter les paramètres sep, end, file et flush, rendant la fonction beaucoup plus flexible.


Question

Comment afficher des caractères spéciaux comme des guillemets ?

Vous pouvez utiliser des séquences d'échappement avec le backslash \, ou alterner entre guillemets simples et doubles :

PYTHON
# Avec séquences d'échappement
print("Il a dit : \"Bonjour !\"")
print('C\'est facile')

# En alternant les guillemets
print('Il a dit : "Bonjour !"')
print("C'est facile")


Question

Comment puis-je apprendre Python ?

Pour maîtriser Python et toutes ses subtilités, y compris l'utilisation avancée de print() et bien d'autres concepts, nous vous recommandons de suivre notre formation complète pour apprendre Python. Vous y découvrirez les bases du langage, les structures de données, la programmation orientée objet avec les class, et bien plus encore, le tout accompagné d'exercices pratiques et de projets concrets.

Termes connexes

Découvrez notre glossaire Python

Parcourez les termes et définitions les plus couramment utilisés dans le domaine du développement avec Python.

Partager cet article

Tu veux nous aider ? Fais un lien vers cet article sur tes réseaux ou encore mieux : sur ton site, dans un article ou dans ta newsletter.