Passer au contenu principal
eLearner.app
Module 1 · Leçon 4 sur 44/36 dans le cours~8 min
Leçons du module (4/4)

Affichage et f-strings

Pour communiquer quelque chose à l'utilisateur (ou pour voir ce qui se passe à l'intérieur de notre programme), nous utilisons la fonction intégrée print(...). Pour composer du texte à partir de plusieurs valeurs, la syntaxe moderne et préférée est la f-string.

print(...)

Python
print("Ciao, mondo!")           # Ciao, mondo!
print("a", "b", "c")            # a b c       (separati da spazio)
print(2 + 2)                    # 4
print("riga 1", "riga 2")       # riga 1 riga 2

print peut prendre autant d'arguments que vous le souhaitez : il les joint avec un espace (par défaut) et ajoute un saut de ligne à la fin. Vous pouvez modifier ces deux comportements avec les paramètres sep et end :

Python
print("a", "b", "c", sep="-")   # a-b-c
print("senza newline", end="")  # niente \n dopo

f-string : interpolation moderne

Une f-string est une chaîne préfixée par f : à l'intérieur des accolades {...}, vous pouvez insérer n'importe quelle expression Python, qui sera évaluée et insérée dans le résultat :

Python
nome = "Ada"
anni = 30
print(f"Mi chiamo {nome} e ho {anni} anni.")
# Mi chiamo Ada e ho 30 anni.

À l'intérieur des accolades, vous pouvez mettre des appels, des opérations, des accès aux objets — c'est du code Python à tous égards :

Python
prezzo = 12.5
quantita = 3
print(f"Totale: {prezzo * quantita:.2f} €")
# Totale: 37.50 €

Le :.2f après les deux-points est une spécification de format (format spec) : dans ce cas, "deux chiffres décimaux, virgule fixe". Les spécifications de format les plus utiles :

  • :.Nf — N chiffres décimaux (f"{pi:.4f}"3.1416).
  • :N / :>N / :<N / :^N — largeur N, alignement à droite/gauche/centre.
  • :_ ou :, — séparateur de milliers (f"{1000000:,}"1,000,000).

Syntaxes alternatives (pour référence)

Avant les f-strings (introduites en Python 3.6), deux formes étaient utilisées que vous rencontrerez encore dans le code plus ancien :

Python
# stile .format() — verboso ma esplicito
"{} ha {} anni".format("Ada", 30)

# stile %-formatting — molto vecchio
"%s ha %d anni" % ("Ada", 30)

Pour le nouveau code, utilisez toujours les f-strings : plus courtes, plus lisibles, plus rapides.

Formatage avancé avec les f-strings

Les f-strings prennent en charge des spécifications de formatage riches directement à l'intérieur des accolades. Par exemple, pour formater un nombre décimal avec exactement deux décimales, vous pouvez écrire :

Python
price = 19.99
print(f"Price: {price:.2f} $")

Le spécificateur :.2f indique que nous voulons représenter le float avec exactement 2 décimales.

À vous de jouer

Exercice#python.m1.l4.e1
Tentatives : 0Chargement…

Étant donné `name = 'Ada'` et `age = 30`, construisez la chaîne 'Ada ha 30 anni' avec une f-string et assignez-la à `line`. Évaluez `line`.

Chargement de l'éditeur…
Afficher l'indice

Syntaxe : f"something {variable} something else"

Solution disponible après 3 tentatives

Exercice de révision

Exercice#python.m1.l4.e2
Tentatives : 0Chargement…

Affichez avec print() la chaîne 'pi greco vale 3.14' à partir de `pi = 3.14159`, en utilisant une f-string avec un format de 2 décimales.

Chargement de l'éditeur…
Afficher l'indice

La spécification de format va après les deux-points dans les accolades : {pi:.2f}.

Solution disponible après 3 tentatives

Défi supplémentaire

Exercice#python.m1.l4.e3
Tentatives : 0Chargement…

Étant donné une variable `price` définie à `19.99`, utilisez une f-string pour construire la chaîne `'Price: 19.99 €'` et stockez-la dans `receipt_line`. Enfin, évaluez la variable.

Chargement de l'éditeur…
Afficher l'indice

Utilisez f"Price: {price} €" et assignez le résultat à receipt_line.

Solution disponible après 3 tentatives