NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Kamil
Člen
Avatar
Kamil:5.12.2021 14:22

Ahoj, poprosil bych jestli by mi nekdo nevysvetlil co to v pythone znamena {}

Zkusil jsem:

jmeno=input("Zadej jmeno:")
pocet_znaku=len(jmeno)
#print ("Ahoj" + jmeno + "! Tvoje jmeno má" + str(pocet_znaku) + "Znaku")
print ("Ahoj {}! Tvoje jmeno má {} znaků".format(meno,pocet_znaku))

Potřeboval bych vysvětlil, jak si dokáže python vydedukovat, že má do {} dát promenou a pocet znaku.

Chci docílit: vysvetleni

 
Odpovědět
5.12.2021 14:22
Avatar
Neaktivní uživatel:5.12.2021 16:57

Ahoj, je to takzvaný placeholder používaný při volání metody .format(). Není to tak, že by Python něco dedukoval. Ten kód dělá přesně to, co jsi mu řekl. V tomto případě metodou format nahrazuje placeholdery v pořadí, v jakém jsou uvedeny argumenty.

Podívej se na to takhle ve větším rozpadu, kdy je každý úkon na jednom řádku:

jmeno=input("Zadej jmeno:") #Do proměnné "jmeno" uložím vstup od uživatele
znaku=len(jmeno) #Do proměnné "znaku" uložím délku (počet znaků) proměnné "jmeno"
vzor="Ahoj {}! Tvoje jmeno ma {} znaku." #Do proměnné "vzor" definuji string s dvojicí placeholderu
vystup=vzor.format(jmeno, znaku) #Do proměnné "vystup" načtu šablonu ("vzor"), na kterou aplikuji dosazení dvou proměnných v pořadí "jmeno" a "znaku"
print(vystup) #Zobrazím hodnotu proměnné "vystup", která je "Ahoj Martin! Tvoje jmeno ma 6 znaku."

Tohle je jednoduché použití placeholderů, ale metoda format umožňuje spoustu dalších věcí, jako třeba definovat pořadí, formátování čísel atd. U programování obecně - Python nevyjímaje - platí, že většinu odpovědí najdeš, pokud se podíváš do dokumentace k danému jazyku nebo funkcionalitě.

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
5.12.2021 16:57
Neaktivní uživatelský účet
Avatar
Kamil
Člen
Avatar
Odpovídá na Neaktivní uživatel
Kamil:6.12.2021 17:44

Skvěle vysvětlené. :-)

Můžu tě poprosit ještě vysvětlit jaký je rozdíl mezi Pole a Tuple v Pythonu?

Diky.

 
Nahoru Odpovědět
6.12.2021 17:44
Avatar
Kamil
Člen
Avatar
Odpovídá na Kamil
Kamil:6.12.2021 18:06

Možná bych se chtěl ještě zeptat jaký rozdíl je ještě mezi listem.

Diky.

 
Nahoru Odpovědět
6.12.2021 18:06
Avatar
Pavel
Člen
Avatar
Pavel:7.12.2021 14:24

List = je pole nějakých prvků - čísel, řetězců, jiných polí apod. Je tzv. mutable, jednotlivé hodnoty v poli lze měnit po vytvoření a má dané pořadí hodnot
Tuple = na rozdíl od listu je immutable, nelze měnit jednotlivé hodnoty po vytvoření

 
Nahoru Odpovědět
7.12.2021 14:24
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.