Python
Kompletní příručka jazyka pro verzi 3.10
Naposledy aktualizováno:
2020-08-10_po_13-10
Zpět na přehled knih.
Obsah
-
Účel a cíl publikace
-
Soubory ke stažení
Doprovodné programy (záznamy použitých skriptů a probírané projekty).
-
Doplňkové texty
Zde najdete především přílohy a seznamy, které jsme v knize avizovali,
ale v zájmu zlevnění tisku jsme je nakonec do tištěné verze nezařadili.
Kromě toho sem vkládám podrobnější vysvětlení některých pasáží
doplněná jako reakce na dotazy čtenářů,
kterým daná pasáž nepřipadala dostatečně srozumitelná.
-
Nejčastější dotazy (FAQ)
Odpovědi na nejčastější dotazy související s textem učebnice.
-
Errata – opravy odhalených chyb
Účel a cíl publikace
Publikace podrobně probírá jazyk Python a jeho možnosti včetně těch,
na které v jiných učebnicích již nezbývá místo.
Python vznikl jako jazyk, který měl laikům usnadnit vstup do světa programování
a umožnit jim s co nejmenším úsilím vytvářet jednoduché programy.
Jak jeho obliba rostla, rostly i požadavky na rozšíření jeho schopností.
Většina učebnic Pythonu však zůstává u výkladu jeho základních možností.
Tato příručka se snaží představit jazyk Python hlouběji,
aby v ní uživatelé našli potřebné informace i v okamžiku,
kdy začnou své původně jednoduché programy zdokonalovat
a budou se potřebovat seznámit s konstrukcemi,
které jim usnadní další vylepšování jejich dítek.
Kniha je koncipována jako učebnice jazyka a následně i částečná referenční příručka pro ty,
kteří již znají základuy programování a vytvořili nějaký netriviální program,
aby nepotřebovali vysvětlovat naprosté základy programování
(pro naprosté začátečníky je určena učebnice
Začínáme programovat v jazyku Python).
Tím, že se kniha soustředí především na výklad jazyka,
může vše vysvětlit podrobněji a do větší hloubky, než je v učebnicích zvykem.
Veškerý výklad je prokládán příklady,
na nichž jsou probírané konstrukce a rysy jazyka demonstrovány.
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.
Doprovodné programy jsou uloženy v souboru
68_Python_3,10_z1.03.8814_2021-08-10_PGM.zip,
jenž obsahuje následující tři virtuální složky
-
68_PYT
Obsahuje zdrojové texty doprovodných programů.
Odpovědi systému jsou zakomentované, aby bylo možno vše přímo zadat.
Proto jsou zakomentovaná i chybná zadání vyvolávající nějakou výjimku.
Řádky chybných zadání jsou uvozeny sekvencí #!#.
-
68_REC
Záznamy komunikace se systémem v prostředí IDLE včetně výzev,
tedy to, co bude zobrazeno, budete-li zadávat shodné příkazy,
jaké jsem zadával v učebnici.
-
68_WRD
Výpisy programů z učebnice i s čísly řádků.
Tento soubor slouží k tomu, abyste si mohli výpisy vytisknout,
a položit si vytištěný text vedle knihy či zobrazit na displeji,
abyste nemuseli v učebnici neustále listovat při pročítání komentářů
k některým z těchto výpisů.
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
- Přílohy
V souboru
68_Python_3,10_Prilohy_z1.03.8814_2021-08-10.pdf najdete přílohy,
které jsme v zájmu zlevnění příručky do tištěné verze nezařadili.
Majitelé elektronických verzí je v publikaci samozřejmě najdou,
protože elektronickou verzi tyto seznamy nezdraží.
- Seznamu
V souboru
68_Python_3,10_Seznamy_z1.03.8814_2021-08-10.pdf najdete
seznamy výpisů programů, obrázků, tabulek a podšeděných bloků.
I ty najdete pouze v elektronických verzích a majitelé tištěných verzí,
kteří je chtějí využívat, si je zde musejí stáhnout.
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 68_PYTHON_310_DOTAZ
Bude-li se dotaz týkat něčeho obecnějšího, zveřejním zde odpověď i pro ty ostatní.
Dopředu se ale omlouvám, že vzhledem k velkému zatížení zapříčiněnému tím,
že odevzdávám několik knížek ročně, odpovídám na dotazy poněkud se zpožděním.
Dotaz:
Na str. 93 píšete o programovacích jazycích se statickým typováním a tak,
jak je popisujete, se mi zdá, že se jedná o totéž, co na str. 49
(v obou případech v podšeděném bloku) nazýváte přísným typováním.
Chtěl bych se tudíž zeptat, zda statické a přísné typování je totéž (jde jen
o jiné označení téhož), nebo je mezi tím přece jenom nějaký (drobný) rozdíl.
Odpověď:
Každý z uvedených termínů opravdu hovoří o něčem jiném.
Termínem statické typování označujeme přístup, při němž se typ hodnot,
které se smějí uložit do dané proměnné, zadává již ve zdrojovém kódu,
takže jej má překladač k dispozici, a může jej využít pro různé optimalizace.
Na termíny přísné typování nebo silné typování lze pohlížet ze dvou pohledů
podle toho, zda je vztahujete k proměnným, anebo k objektům, které jsou v těchto
proměnných uložené, nebo na něž tyto proměnné odkazují:
-
Pohled z hlediska proměnných chápe přísné (silné) typování tak,
že jakmile je proměnné přidělen typ, už do ní nelze uložit hodnotu
(případně odkaz na hodnotu) jiného typu, přičemž je ale třeba mít na paměti,
že instance potomků se mohou vydávat za instance předků.
Z tohoto pohledu by příkladem staticky přísně typovaného jazyka byla
např. Java a příkladem dynamicky přísně typovaného jazyka bylo např. Groovy,
příkladem staticky slabě typovaného jazyka by pak mohlo být C++
a příkladem dynamicky slabě typovaného jazyka JavaScript.
-
Pohled z hlediska objektů se používá u dynamicky typovaných jazyků.
Neřeší, na jaký typ proměnná odkazuje, ale rozeznává, zda daný objekt
může či nemůže vystupovat pouze jako instance své mateřské třídy a jejích předků.
Z pohledu proměnných patří Python mezi slabě typované jazyky,
protože typ objektu odkazovaného danou proměnnou se může libovolně měnit,
ale z pohledu objektů patří mezi silně (přísně) typované jazyky,
protože objekty v něm mohou vystupovat pouze v roli instance své třídy či jejího předka.
Errata – opravy odhalených chyb
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.
Sekci jsem rozdělil na dvě části: v první z nich jsou opravy závažnějších chyb,
kam řadím chyby ve výpisech programů a nepřesné formulace ve výkladu,
ve druhé pak opravy nejrůznějších překlepů, kterých si občas běžný čtenář ani nevšimne.
-
Způsob značení
Popis označování umístění chyb na stránce.
-
Důležité opravy
Význačnější chyby, které by mohly čtenáře zmást.
-
Překlepy
Méně problematické chyby, o nichž se domnívám, že čtenáře nezmatou.
Způsob značení
Pozici chybného místa v knize budu u běžného textu deklarova číslem stránky
následovaným pořadím odstavce na stránce
a pořadím inkriminovaného řádku v daném odstavci.
Bude-li pořadové číslo záporné, označuje pořadí od konce stránky, resp. odstavce.
budeli kladné, označuje pořadí od počátku. Např. text
Strana 43, odst -5, řádek +1
bude označovat 1. řádek shora v 5. odstavci odspodu na stránce 43.
V případě výpisu programu bude místo toho uvedeno číslo výpisu a číslo řádku ve výpisu - např.
Strana 145, výpis 8.16, řádek 17
Při počítání odstavců je celý výpis (bez popisku) brán jako jeden odstavec
(popisek je brán jako samostatný odstaec).
V sekci V knize: bude uveden celý řádek s chybou (v případě potřeby i více řádků)
a chybný text (slovo či část věty) bude podtržený.
Bude-li někdy potřeba další vysvětlení nebo nějaká pomocná informace,
bude umístěna hned za navigaci (číslo stránky, odstavce, řádku) a bude vysazena kurzivou.
Důležité opravy
Sekce je prozatím prázdná
Překlepy
- Sekce je prozatím prázdná