Obálka

Začínáme programovat v jazyku Python

Naposledy aktualizováno:    15.03.22 19:27

Zpět na přehled knih.

Obsah

 


Účel a cíl publikace

Tato publikace uvádí čtenáře do světa programování prostřednictvím jazyka Python,
jenž je v současné době nejpoužívanějším programovacím jazykem.
Předkládaná příručka seznámí čtenáře s tímto jazykem a postupně jej naučí používat Python
pro tvorbu stále dokonalejších programů.
První část učebnice jej seznámí s naprostými základy jazyka,
v druhé se naučí vytvářet jednoduché programy,
třetí část jej připraví pro tvorbu větších aplikací
a ve čtvrté části si na příkladu tvorby jednoduché, nicméně netriviální aplikace
seznámí se základními pravidly vytváření komplexnějších programů
a osvojí si potřebné znalosti a dovednosti. Při vývoji aplikace se čtenář současně seznamuje
se zásadami moderního programování a učí se je naplňovat v praxi.

Hlavním rozdílem této učebnice od běžných učebnic a kurzů je, že se neomezuje na výklad toho,
jak někým navržený program zakódovat v jazyku Python,
ale učí čtenáře program samostatně navrhnout a rozchodit.

 
 

Soubory ke stažení

Pokud vám nebude ve stažených programech něco fungovat, podívejte se sem,
jestli na podobný problém nenarazil už někdo před vámi,
a jestli proto není k dispozici novější verze.
Verzi poznáte podle data a případně podle jemu předcházejícího čísla verze.

K dispozici jsou následující soubory:

 

Doplňkové texty (co se do knihy nevešlo)

Většinou to jsou podrobnější vysvětlení některých pasáží výkladu
doplněná jako reakce na dotazy čtenářů,
kterým některá pasáž nepřipadala dostatečně srozumitelná.

Tak, jak budou postupně přicházet žádosti o upřesnění výkladu,
budou se postupně rozšiřovat i tato upřesňující vysvětlení.

Obsah


 
 

Nejčastější dotazy (FAQ)

Tato sekce je určena pro odpovědi na vaše nejčastější dotazy.
Budete-li mít nějaký dotaz nebo upozornění na chybu, pošlete mi
mail s předmětem začínajícím 70_PYTHON_NZ_DOTAZ
Bude-li se dotaz týkat něčeho obecnějšího, zveřejním zde odpověď i pro ty ostatní.

 

Dotaz:
Začínáme programovat v jazyku Python na straně 88 píšete o pozičních, pojmenovaných
a implicitních argumentech.
Můj dotaz je:
Jaký je rozdíl mezi pojmenovaným a implicitním argumentem?
Podle hledání na Internetu to vypadá, že mezi nimi v podstatě rozdíl není.

Odpověď:
V poznámce na straně 89 jsem se to sice snažil vysvětlit, ale asi to nebylo dostatečně.
Zkusím to tedy ještě jednou:

Problém poziční versus pojmenovaný spočívá v tom, jestli při volání dané funkce
budete vedle výrazu představujícího daný argument zadávat i jméno parametru, který bude hodnotou
tohoto argumentu inicializován.
Jak jsme si na straně 89 vysvětlili v pasáži Povinně poziční a povinně pojmenované argumenty
u některých argumentů nemáte na vybranou. U těch ostatních je ale způsob zadání na vašem rozhodnutí.

Naproti tomu rozdíl mezi pojmenovaným a implicitním argumentem spočívá v tom, jestli jej musíte zadat.
Argumenty inicializující parametry, které jsou v hlavičce funkce uvedeny i se svojí implicitní hodnotou,
zadávat nemusíte, a pro inicializaci příslušného parametru se pak použije ona implicitní hodnota
kterou označujeme jako implicitní argument.

Termín pojmenovaný argument pak hovoří pouze o tom, že jste v rámci zadávání argumentu
zadali i název parametru, který bude hodnotou tohoto argumentu inicializován.


 


Errata – opravy odhalených chyb

Chyby vyskytující se pouze v tištěné verzi

Několik chybiček se podařilo odhalit až poté, co odešla kniha do tiskárny.
V PDF verzi jsem je proto opravil, ale v tištěné verzi zůstaly. Jedná se o následující chyby:

Obsah

Nejprve se musím čtenářům omluvit, ale přes značné úsilí, které jsem knize věnoval já,.
několik laických lektorů a nakonec i redaktor, zůstalo v knize pár chyb. Následující chyby
jsem v textu objevil až poté, co rukopis odešel do tiskárny. V PDF verzi jsem je proto opravil,
ale v tištěné verzi zůstaly.

Strana 101, pasáž Testy
V knize:
Návratové hodnoty true a false jsou chybně uvedeny s malým počátečním písmenem.
Správně:
Návratové hodnoty True a False mají být uvedeny s velkým počátečním písmenem.
 

Strana 101, Výpis 7.3, řádky 4 a 8
V knize:
Na uvedených řádcích chybí výpis návratové hodnoty první z funkcí volaných na předchozím řádku.
Správně:
3   >>> turn_left(k), is_wall(k) # Nyní má před sebou volno
4  (Karel_1(row=0, col=0, dir4=SOUTH, color=BLUE), False)
....................
7   >>> turn_left(k), is_east(k) # Po otočce hledí na východ
8  (Karel_1(row=0, col=0, dir4=EAST, color=BLUE), True)
 

Strana 102, Výpis 7.4, řádky 2–4 a 13–14
V knize:
Program měl před první otočkou robota otočeného na západ, ale na konci předchozího výpisu
robot končí otočen na východ.
Správně:
Program pracuje s robotem, jenž je na počátku otočen na východ.
1   >>> turn_left(k); turn_left(k); turn_left(k) # Pomalá otočka vpravo
2  Karel_1(row=0, col=0, dir4=NORTH, color=BLUE)
3  Karel_1(row=0, col=0, dir4=WEST, color=BLUE)
4  Karel_1(row=0, col=0, dir4=SOUTH, color=BLUE)
....................
12   >>> k; turn_right(k) # Rychlá otočka vpravo
13  Karel_1(row=0, col=0, dir4=SOUTH, color=BLUE)
14  Karel_1(row=0, col=0, dir4=WEST, color=BLUE)

 

Strana 103, Výpis 7.4, od řádku 15 do konce výpisu
V knize:
Začíná obratem čelem vzad (turn_about()) a pak couvne.
Správně:
Začne vypsáním aktuálního stavu, pak nejprve couvne a teprve pak se otočí a opět couvne.
15   >>> k # Začínáme na závěrečné pozici předchozího výpisu
16  Karel_1(row=0, col=0, dir4=WEST, color=BLUE)
17   >>> step_back(k); turn_about(k); step_back(k)
18  Karel_1(row=0, col=1, dir4=WEST, color=BLUE)
19  Karel_1(row=0, col=1, dir4=EAST, color=BLUE)
20  Karel_1(row=0, col=0, dir4=EAST, color=BLUE)

 

Strana 122, podkapitola 9.8 Rekurze, 1. věta
V knize:
Řadu úloh můžeme elegantně vyřešit tak, že její zadání převedeme na zjednodušené řešení téže úlohy.
Správně:
Řadu úloh můžeme elegantně vyřešit tak, že její zadání převedeme na zjednodušené zadání téže úlohy.