10.1 format()
On doit souvent afficher beaucoup de données dans la console (sur l'écran). On n'est pas les premiers à faire face à ça — c'est pourquoi depuis longtemps en Python, il existe la fonction format()
qui permet de combiner des chaînes et d'afficher les données à l'écran de façon plus simple et compréhensible.
La fonction format()
est utilisée pour insérer des valeurs dans une chaîne à des positions spécifiques. La syntaxe de la fonction est la suivante :
"Modèle de chaîne de {} à {}".format(valeur1, valeur2,…)
Fait 1. La fonction format()
est une fonction fille de la chaîne, elle est donc appelée sur une chaîne. Au lieu de passer la chaîne à une fonction, on écrit la chaîne, puis on met un point, puis on appelle la fonction format()
et c'est là qu'on passe ses paramètres.
Fait 2. La fonction format()
remplit le modèle de chaîne avec les valeurs passées. Elle convertit les valeurs passées en chaînes (si elles étaient des nombres, par exemple) et les insère dans les emplacements désignés par les symboles {}
. Un tel emplacement pour insérer une valeur s'appelle un placeholder
.
Utilisation de base :
welcome_message = "Salut, {}, bienvenue à {}!"
print(welcome_message.format("Anna", "notre magasin"))
Résultat :
"Salut, Anna, bienvenue à notre magasin !"
Formatage des nombres:
output = "Données: {0:.2f} et {1:.2f}".format(3.1415926, 2.71828)
print(output)
Résultat : "Données: 3.14 et 2.72"
—
exemple de limitation de l'affichage à deux chiffres après la virgule.
Utilisation de mots-clés :
output = "{name} travaille chez {company}"
print(output.format(name="Sergueï", company="Google"))
Résultat :
"Sergueï travaille chez Google"
Utiliser format()
améliore la lisibilité et la maintenabilité du code, permettant de changer facilement le format sans besoin de modifier toute la chaîne.
10.2 f-notation
À partir de la version 3.6, Python a introduit un nouveau type de chaînes — les f-strings
, qui signifient littéralement « formatted string ». Ces chaînes améliorent la lisibilité du code et fonctionnent également plus rapidement que les autres méthodes de formatage.
Pour utiliser les f-strings
, on place la lettre "f"
ou "F"
devant la chaîne. Les expressions à insérer sont placées entre accolades {}
:
Exemple :
force = "Côté Obscur"
message = f"Que la force soit avec toi {force}!"
print(message) # Affiche : Que la force soit avec toi Côté Obscur !
Important ! Dans les accolades, on peut indiquer des variables disponsibles dans le scope actuel (nous en parlerons plus tard) et Python les convertit automatiquement en chaîne et les insère au bon endroit.
Exemple :
age = 28
message = f"J'ai {age} ans"
print(message) # Affiche : J'ai 28 ans
De plus, dans les accolades, on peut utiliser des expressions avec beaucoup de variables.
Exemple :
birth_year = 1985
current_year = 2024
message = f"J'ai {current_year - birth_year} ans"
print(message) # Affiche : J'ai 39 ans
Sous le capot, tout cela est converti en un appel de la fonction
format()
, mais la nouvelle approche est vraiment plus pratique.
Utilise-les à ton goût.
10.3 Paramètres sep
et end
En Python, la fonction print()
offre
deux paramètres utiles — sep
et end
,
qui permettent de contrôler l'affichage des données. Ces paramètres rendent
la fonction print()
plus flexible et peuvent être utilisés
pour formater la sortie sans besoin d'utiliser des fonctions supplémentaires ou des opérations de chaîne complexes.
Le paramètre sep
définit le caractère ou
la chaîne qui sera utilisée pour séparer plusieurs
valeurs passées à print()
. Par défaut, sep
est défini comme un espace. Cela signifie que si tu passes
plusieurs arguments à print()
, ils seront séparés
par un espace.
Mais si tu veux que les données soient séparées par autre chose qu'un espace, par exemple, une virgule, alors il te faut ajouter le paramètre
sep
à la fin et
lui attribuer directement une nouvelle chaîne de séparation.
Exemple :
print("Hello", "world") # Affiche : Hello world
print("Hello", "world", sep=", ") # Affiche : Hello, world
Ou, par exemple, on peut faire en sorte que chaque valeur soit affichée sur
une nouvelle ligne. Dans ce cas, il faut attribuer au paramètre sep
le symbole spécial de saut de ligne qui est représenté par deux caractères
“\n”
.
Exemple | Explication |
---|---|
|
|
Le paramètre end
définit ce qui sera imprimé après toutes les valeurs passées. La valeur standard de end
est le symbole de nouvelle ligne (\n)
, ce qui signifie un saut de ligne après l'exécution de print()
.
En modifiant end
, on peut contrôler l'affichage des données, par exemple,
pour continuer l'affichage sur la même ligne :
Exemple :
print("Hello", end=" ")
print("world") # Affiche : Hello world
L'utilisation de sep
et end
peut être extrêmement utile dans des scénarios où un formatage particulier de la sortie est requis, par exemple lors de la création de tables, de rapports ou lors de l'affichage de données sur une seule ligne sans saut automatique à la ligne suivante.
En plus de simplifier le code et d'éviter la nécessité d'ajouter manuellement des séparateurs ou de gérer les sauts de ligne, utiliser sep
et end
améliore la lisibilité et la maintenabilité du code.
GO TO FULL VERSION