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(...)
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 2print 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 :
print("a", "b", "c", sep="-") # a-b-c
print("senza newline", end="") # niente \n dopof-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 :
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 :
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 :
# 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 :
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
É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`.
Afficher l'indice
Syntaxe : f"something {variable} something else"
Solution disponible après 3 tentatives
Exercice de révision
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.
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
É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.
Afficher l'indice
Utilisez f"Price: {price} €" et assignez le résultat à receipt_line.
Solution disponible après 3 tentatives