print() a f-string
S funkce print()
si se již setkal(a). Nejjednodušší použití je, vypsání textu nebo proměné, tak jsme ji zatím používali.
print("Hello, World!")
kdo_je_nejlepsi = "Já"
print("Nejlepší programátor je", kdo_je_nejlepsi)
Tato kapitola ti shrne možnosti funkce print()
a představí ti f-stringy, které umožňují formátovat výstup.
print()
Funkce print()
umožňuje vypsat text a hodnoty proměnných do konzole. Může přijímat více argumentů oddělených čárkou, které jsou následně spojeny do jednoho řetězce. Podívejme se na jednoduchý příklad:
# Ukázka funkce print()
jmeno = "Martin"
prijmeni = "Svoboda"
vek = 33
print("Jmenuji se", jmeno, prijmeni, "a je mi", vek, "let.")
Tento příklad lze zapsat i s použitím operátoru +
pro spojování řetězců:
print("Jmenuji se " + jmeno + " " + prijmeni + " a je mi " + str(vek) + " let.")
Nicméně, první způsob je čistší a čitelnější. Ať tak či tak, používej stejný způsob v celém kódu pro konzistenci.
Parametry sep
a end
Funkce print()
umožňuje přizpůsobit výstup pomocí parametrů sep
a end
. Parametr sep
určuje oddělovač mezi vstupy, zatímco end
určuje, jakým znakem bude výstup ukončen. Výchozí hodnoty těchto parametrů jsou " "
(mezera) pro sep
a "\n"
(nový řádek) pro end
.
# Ukázka použití sep a end
oblibene_jidlo = "pizza"
oblibene_zvire = "pes"
oblibene_barva = "červená"
print("Ahoj já jsem Martin.")
print("Mám rád:", end=" ")
print(oblibene_jidlo, oblibene_zvire, oblibene_barva, sep=", ")
Výstup bude:
Ahoj já jsem Martin.
Mám rád: pizza, pes, červená
f-string?
f-string je zkratka pro formátovaný řetězec. Umožňuje ti vkládat hodnoty proměnných přímo do textu. Podívejme se na příklad:
# Ukázka použití f-stringu
jmeno = "Martin"
vek = 33
print(f"Jmenuji se {jmeno} a je mi {vek} let.")
Výstup bude stejný jako v předchozím příkladu, ale zápis je čistší a čitelnější.
Formátování s f-string
f-stringy také umožňují specifikovat formátování, například zarovnání textu nebo počet desetinných míst u čísel:
# Ukázka formátování s f-string
cele_cislo = 25
desetinne_cislo = 25.123456789
retezec = "Martin"
print(f" {retezec:>10} | {cele_cislo:^10} | {desetinne_cislo:<10.2f} ")
# nebo třeba takto:
print(f" {retezec:<10} | {cele_cislo:^10} | {desetinne_cislo:>10.2f} ")
# nebo takto:
print(f" {retezec:^10} | {cele_cislo:010} | {desetinne_cislo:.2f} ")
Formát se píše za :
. Ty šipky (<
,>
,^
) znamenájí zarovnání, doleva, dopava a na střed. Můžeš je samozřejmě vynechat, potom je to zarovnáno doleva. Následuje šířka, pokud výstup je kratší než šířka, tak se to doplní mezerami a pokud je menší tak se hodnota uřízne. Pro float můžeš za tečkou určit počet desetiných míst, ale nezapoměň na konec dát f
(jak float).
Kontrolní otázky
-
Jak lze pomocí funkce
print()
přizpůsobit oddělovací a koncový znak? -
Co je to f-řetězec v jazyce Python? Jak se tvoří a používá?
-
Jaké jsou výhody používání f-stringu oproti tradičnímu formátování řetězců nebo spojování?
-
Jak můžete zarovnat text v f-stringu?
-
Jak lze v rámci f-stringu formátovat čísla, konkrétně čísla s pohyblivou desetinnou čárkou?
-
Co v kontextu f-stringů znamená:
{:>10}
? -
Dokážeš převést následující příkaz
print
na f-string?x = 5 y = 10 print("Součet", x, "a", y, "je", x + y)
Kvízy
Která funkce slouží k zobrazení výstupu na konzoli?
- show()
- display()
- print()
- output()
Jaký bude výstup následujícího kódu?
print("Hello", "World", sep="-")
- Hello-World
- Hello World
- Hello,World
- HelloWorld
Co znamená písmeno ‘f’ v f-stringu?
- Functional
- Formatted
- Fancy
- Feasible
Co zobrazí následující kód?
x = 5
print(f"Hodnota x je {x} a její dvojnásobek je {2*x}.")
- Hodnota x je 5 a její dvojnásobek je 10.
- Hodnota x je x a její dvojnásobek je 2x.
- Hodnota x je {x} a její dvojník je {2x}.
- Žádná z výše uvedených možností
Je dán kód:
name = "Alice"
print(f"|{name:>10}|")
Jaký bude výstup?
-
| Alice|
-
|Alice |
-
|Alice|
-
| Alice |
Cvičení
Cvičení 1
Napiš program, který se uživatele zeptá na jeho jméno, věk a oblíbenou barvu a poté tyto informace vypíše pomocí funkce print()
a f-stringu.
Cvičení 2
Uprav program kalkulačky z minulého části tak, aby pro výstup používal f-string.
Cvičení 3
Experimentujte s formátováním f-string. Napiš program, který vypíše tabulku druhých a třetích mocnin pro čísla od 1 do 10.