Řekněme, že chceš vypsat určitou hodnotu uživatelovi s nějakou „omáčkou“ okolo.
Dá se na to použít print()
, kterému můžeš předat „mix“ řetězců a čísel:
>>> soucet = 3 + 4
>>> print('Součet je', soucet)
Co ale když chceš celý tento výpis uložit do proměnné – jako jeden řetězec?
Čárka tu fungovat nebude, ta odděluje argumenty ve volání funkce.
Je potřeba soucet
převést na řetězec a ten pak připojit k „omáčce“:
>>> hlaska = 'Součet je ' + str(soucet)
To ale není tak přehledné, jak by mohlo. Lze to zpřehlednit použitím šablony.
Takovou šablonu si představ jako formulář s vynechanými místy:
Součet je __________.
Složitější šablona by byla třeba tahle:
Mil[ý/á] _______,
Váš výsledek je __________.
S pozdravem,
_________
Aby Python věděl, do kterého vynechaného místa co doplnit, je potřeba jednotlivá vynechaná místa ve formuláři nějak jednoznačně označit. Použijme jména v „kudrnatých“ závorkách:
Součet je {soucet}.
Mil{y_a} {osloveni},
Váš výsledek je {soucet}.
S pozdravem,
{podpis}.
Takovou šablonu můžeš použít jako formátovací řetězec
(angl. formatted string literal,
zkráceně f-string).
Jako jakýkoli jiný řetězec ji vlož do uvozovek.
A aby bylo jasné že jde o šablonu, před první uvozovky dej značku f
.
f"Součet je {soucet}."
Takový formátovací řetězec jde použít v Pythonu – jako jakýkoli jiný řetězec:
soucet = 3 + 4
hlaska = f'Součet je {soucet}'
print(hlaska)
y_a = 'á'
osloveni = 'Anežko'
soucet = 3 + 4
podpis = 'Váš Program'
print(f"""
Mil{y_a} {osloveni},
Váš výsledek je {soucet}.
S pozdravem,
{podpis}
""")
A nakonec – v šabloně můžeš použít nejen jména proměnných, ale jakékoli výrazy.
>>> hlaska = f'Součet je {3 + 4}'
Ale nepřežeň to! Většinou je program přehlednější, když si každou vypisovanou hodnotu zvlášť pojmenuješ – tedy uložíš do vhodně pojmenované proměnné.