Subsections

 
1. Proč zvolit zrovna Python?

Jestliže jste již někdy napsali opravdu velký shellový skript, jistě znáte tuto situaci: chcete přidat nějakou novou vlastnost, ale program je již příliš pomalý, rozsáhlý a komplikovaný, případně tato nová vlastnost vyžaduje volat jinou funkci, které je přístupná pouze z jazyka C ...Obyčejně tento problém není natolik podstatný, abyste se rozhodli celý skript přepsal do C, třeba používáte řetězce proměnné délky nebo další vysokoúrovňové datové typy (jako třeba seznamy nebo asociativní pole), jež jsou snadno použitelné v shellu ale již ne v C. Jejich implementování v C by pravděpodobně zabralo mnoho času a nejspíš si na to ani netroufáte.

Jiná situace: pracujete na projektu, který používá množství C knihoven a cyklus napiš/zkompiluj/otestuj je příliš zdlouhavý. Potřebujete ale pravý - rychlý a efektivní vývoj. Možná chcete napsat program, který bude používat skriptovací jazyk ale nechcete navrhovat a ladit vlastní interpreter.

V těchto případech je právě Python vhodným programovacím jazykem pro vás. Můžete se jej velice snadno naučit (mluví se o několika málo dnech pro získání základního přehledu), je to opravdový programovací jazyk nabízející mnoho typů a struktur. Nechají se v něm napsat opravdu velké a rozsáhlé projekty. Také je více odolný proti chybám programátora než obyčejné C a je skutečným vysokoúrovňovým jazykem, má vestavěné vysokoúrovňové datové typy jako seznamy proměnné délky a asociativní pole, jež vám ušetří mnoho dní, které byste jinak věnovali jejich implementování v C. Kvůli těmto obecnějším datovým typům je Python vhodnější pro daleko širší paletu problémů než jazyky Awk nebo Perl, mnoho problémů se za použití Pythonu řeší dokonce snadněji než v těchto jazycích.

Python umožňuje rozdělit vaše programy do modulů, které mohou být snadno použity v jiných programech tohoto jazyka. Python je distribuován s velkým množstvím standardních modulů, které můžete použít jako základ vašich programů, případně se z nich můžete přiučit hodně běžně používaných obratů. Mezi nimi najdete moduly pro práci se soubory, systémovými voláními, sokety a také moduly sloužící jako rozhraní k sadám grafického rozhraní jako je Tk.

Python je interpretovaný jazyk, který vám ušetří množství času. Již žádné kompilování a linkování programů. Interpretr může být použit interaktivně, což vám umožní snadné experimentování s jazykem samotným stejně jako s jednotlivými moduly. Jednoduše takto můžete testovat také vaše uživatelské funkce a třídy. Je použitelný i jako výkonný kalkulátor obohacený o mnoho matematických funkcí.

Programy v Pythonu jsou velice kompaktní a snadno pochopitelné. Programy napsané v Pythonu jsou typicky mnohem kratší než ekvivalentní kód implementovaný v C nebo C++ a to z mnoha důvodů:

Python je rozšiřitelný: umíte-li programovat v jazyce C pak pro vás bude hračkou přidávání nových interních funkcí nebo modulů pro zajištění maximální rychlosti časově náročných operací, případně takto můžete z interpretru využívat knihovny, které jsou distribuované pouze v binární formě (typicky knihovny od výrobců hardware apod.). Můžete také přilinkovat interpretr k vaší aplikaci napsané v C a naplno tak využít potenciálu tohoto jazyka, který je jako stvořený pro úlohu skriptovacího jazyka.

Jazyk Python je pojmenovaný podle pořadu BBC "Monty Python's Flying Circus" a jeho název tedy nemá nic společného s hady.1.1

 
1.1 Obsah této učebnice

Jestliže jste dočetli až sem, jistě chcete poznat tento skvělý jazyk více do hloubky. Nejlepší cestou, jak se naučit libovoulnou řeč, je její používání a v případě programovacích jazyků to platí dvojnásob.

V další kapitole získáte základní znalosti pro ovládání interpretru. Tato kapitola se pohybuje spíše v teoretické rovině, ale po jejím přečtení již budete připraveni začít se učit jazyk Python naplno.

Zbytek učebnice ukazuje použití rozličných vlastností Pythonu. Uvidíte množství příkladů, výklad začneme jednoduššími tématy jako jednoduché výrazy, datové typy a konstrukce, pokračovat budeme funkcemi a moduly a nakonec nastíníme problematiku pokročilejších vlastností jazyka jako jsou výjimky a uživatelsky definované třídy.



Footnotes

... hady.1.1
"Python" v angličtině znamená hroznýš
See About this document... for information on suggesting changes.