Ce face f-string (f"...")
Un f-string este un text precedat de litera f. Tot ce scrii între acolade { } este calculat și înlocuit cu rezultatul. Este cel mai simplu și mai rapid mod de a construi texte cu valori.
După expresie poți pune : și un format: {pret:.2f} (2 zecimale), {n:05d} (completare cu zerouri), {x:,} (separator de mii), {text:>10} (aliniere la dreapta pe 10 caractere).
Din Python 3.8, {variabila=} afișează și numele variabilei, util la depanare. Din Python 3.12 poți folosi aceleași ghilimele în interiorul acoladelor.
Exemple
Exemplul 1: Variabile și expresii
nume = "Ana"
oras = "Iași"
print(f"{nume} locuiește în {oras}.")
print(f"Peste 5 ani, {nume} va avea {25 + 5} de ani.")
print(f"Numele are {len(nume)} litere: {nume.upper()}")
Rezultat
Ana locuiește în Iași.
Peste 5 ani, Ana va avea 30 de ani.
Numele are 3 litere: ANA
Exemplul 2: Formatarea numerelor
pret = 1299.5
print(f"Preț: {pret:.2f} lei")
print(f"Factura nr. {42:05d}")
print(f"Populație: {1_214_000:,}")
print(f"Reducere: {0.15:.0%}")
Rezultat
Preț: 1299.50 lei
Factura nr. 00042
Populație: 1,214,000
Reducere: 15%
Exemplul 3: Aliniere în tabel și depanare cu =
produse = [("Pâine", 4.5), ("Lapte", 7), ("Cafea", 32.9)]
for nume, pret in produse:
print(f"{nume:<10}{pret:>8.2f} lei")
total = sum(p for _, p in produse)
print(f"{total=}")
Rezultat
Pâine 4.50 lei
Lapte 7.00 lei
Cafea 32.90 lei
total=44.4
Greșeli frecvente
- Uiți litera
fdin față:"Salut, {nume}"afișează acoladele exact așa, fără înlocuire. - Vrei să afișezi o acoladă propriu-zisă. Dublează-o:
f"{{text}}"afișează{text}.
Comenzi înrudite
print(): Afișează unul sau mai multe texte sau valori pe ecran.str.format() și str.format_map(): Completează un șablon de text cu valori puse între acolade.format(): Formatează o singură valoare după un șablon: zecimale, aliniere, separatori, baze.