Salt la conținutul principal
Modulul 1 · Lecția 4 din 44/36 în curs~8 min
Lecții din modul (4/4)

Imprimare și f-strings

Pentru a comunica ceva utilizatorului (sau pentru a vedea ce se întâmplă în interior programul nostru) folosim funcția încorporată print(...). A compune text din mai multe valori, sintaxa modernă și preferată este 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 poate lua câte argumente doriți: le unește cu un spațiu (prin implicit) și adaugă o linie nouă la sfârșit. Le puteți schimba pe ambele cu Parametrii sep și end:

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

f-string: interpolare modernă

Un șir f este un șir prefixat de f: în interiorul acoladelor {...} puteți insera orice expresie Python, care va fi evaluată și inserată în rezultat:

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

În interiorul acoladelor puteți pune apeluri, operațiuni, accesări la obiecte - așa este Cod Python din toate punctele de vedere:

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

:.2f după două puncte este o specificație de format: în acest caz, „două zecimale cifre, virgulă fixă”. Cele mai utile specificații de format:

  • :.Nf — N cifre zecimale (f"{pi:.4f}" → 3.1416).
  • :N / :>N / :<N / :^N — lățime N, aliniere dreapta/stânga/centru.
  • :_ sau :, — separator de mii (f"{1000000:,}" → 1,000,000).

Sintaxe alternative (pentru referință)

Înainte de f-strings (introdus în Python 3.6) au fost folosite două forme care veți mai întâlni în codul mai vechi:

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

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

Pentru codul nou, folosiți întotdeauna șiruri f: mai scurt, mai lizibil, mai rapid.

Formatare avansată cu șiruri f

Sirurile F acceptă specificații de formatare bogate direct în interiorul acoladelor. De exemplu, pentru a formata un număr zecimal cu exact două zecimale, puteți scrie:

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

Specificatorul :.2f indică faptul că dorim să reprezentăm float cu exact 2 zecimale.

Încercați-l singur

Exercițiu#python.m1.l4.e1
Încercări: 0Se încarcă…

Având în vedere „nume = „Ada”” și „vârsta = 30”, construiți șirul „Ada ha 30 anni” cu un șir f și atribuiți-l la „linie”. Evaluează `line`.

Se încarcă editorul...
Afișează indiciu

Sintaxă: f"ceva {variabilă} altceva"

Soluție disponibilă după 3 încercări

Exercițiu de revizuire

Exercițiu#python.m1.l4.e2
Încercări: 0Se încarcă…

Imprimați cu print() șirul 'pi greco vale 3.14' începând cu `pi = 3.14159`, folosind un șir f cu o specificație de format de 2 zecimale.

Se încarcă editorul...
Afișează indiciu

Specificația formatului urmează două puncte din interiorul acoladelor: {pi:.2f}.

Soluție disponibilă după 3 încercări

Provocare suplimentară

Exercițiu#python.m1.l4.e3
Încercări: 0Se încarcă…

Given a variable `price` set to `19.99`, use an f-string to construct the string `'Price: 19.99 €'` and store it in `receipt_line`. Finally, evaluate the variable.

Se încarcă editorul...
Afișează indiciu

Folosiți f„Preț: {preț} €” și atribuiți rezultatul liniei_chitanței.

Soluție disponibilă după 3 încercări