Úvod
Většina z nás zná Python jako programovací jazyk. Jednou ze skvělých věcí na Pythonu 3 je nespočetné množství vestavěných funkcí které nabízí. K těmto funkcím získáte přístup, když používáte Python 3 k psaní různých typů kódu. Než začneme, podívejte se na náš návod na instalaci Pythonu 3 a nastavení lokálního programovacího prostředí na Ubuntu 16.04. Nyní se podívejme na některé z užitečných funkcí Pythonu:
print(): Tato funkce vám umožňuje vypisovat výrazy.abs(): Pomocí této funkce můžete získat absolutní hodnotu jakéhokoli čísla.int(): Tato funkce vám umožní převést jakýkoli zadaný datový typ na celé číslo.len(): Ukáže vám délku jakékoli sekvence nebo kolekce.
Jsou vestavěné funkce dostačující?
Bohužel tyto vestavěné funkce samy o sobě nestačí. Při programování v Pythonu 3 se může stát, že budete potřebovat více funkcí. Nechcete být omezeni pouze výchozími funkcemi programu. A právě zde přicházejí na řadu moduly.
Co jsou moduly?
Moduly vám umožňují vytvářet sofistikovanější programy. Rozšiřují vaše možnosti a poskytují vám větší prostor pro práci. Moduly se obvykle skládají ze souborů Pythonu .py . Každý z těchto souborů obsahuje části kódu v Pythonu. Na jakýkoli soubor Pythonu můžete odkazovat jako na modul. Pomocí těchto modulů můžete dělat nejrůznější věci. Můžete například definovat funkce, třídy i proměnné. Na ty pak můžete odkazovat v jiných souborech Pythonu .py nebo prostřednictvím interpretu příkazového řádku.
Řekněme, že máte soubor v Pythonu s názvem hello.py. Název modulu tohoto souboru je hello. Tento modul můžete snadno importovat do jiných souborů Pythonu. Můžete jej také použít v interpretu příkazového řádku Pythonu. Způsob, jakým importujete moduly do různých souborů, je použití příkazu import. Když importujete modul, v podstatě spouštíte kód uvnitř modulu. Zpřístupňujete definice v modulu pro aktuální soubor.
V tomto komplexním průvodci se podíváme na to, jak můžete zkontrolovat a nainstalovat moduly v Pythonu 3. Budeme také hovořit o tom, jak importovat moduly a jak pro ně vytvářet aliasy.
Jak zkontrolovat moduly?
Jak jsme již zmínili, v Pythonu 3 existují některé vestavěné moduly. Ty lze nalézt ve standardní knihovně Pythonu. Tato knihovna obsahuje několik standardních modulů, které provádějí některé základní systémové funkce a řešení. Je to výchozí funkce, kterou získáte, když nainstalujete Python.
Pokud potřebujete zkontrolovat, zda jsou tyto moduly připraveny k použití, musíte zadat příkaz. Budete muset vstoupit buď do lokálního programovacího prostředí Pythonu 3, nebo do serverového programovacího prostředí. Poté budete muset v příkazovém řádku spustit interpret Pythonu. Bude to vypadat nějak takto:
|
1 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">cloudsigma@ubuntu:~$ python</span> |
Nyní můžete spustit příkaz import. Tím se potvrdí, že modul lze v případě potřeby vyvolat. Řekněme, že spustíte příkaz s modulem math:
|
1 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">import math</span> |
Modul math je vestavěný modul v Pythonu. To znamená, že interpret dokončí úkol bez jakékoli zpětné vazby. Vrátí vás na příkazový řádek. Modul můžete začít ihned používat bez jakékoli další akce.
Jak nainstalovat moduly?
Na druhou stranu, řekněme, že chcete spustit modul, který není nainstalován. V našem příkladu budeme uvažovat o knihovně pro 2D vykreslování matplotlib. Zde je návod, jak byste spustili příkaz import s takovým modulem:
|
1 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">import matplotlib</span> |
Pokud jste modul nenainstalovali, zobrazí se vám následující chyba:
|
1 2 3 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">Výstup ImportError: No module named 'matplotlib'</span> |
Aby to fungovalo, musíte nejprve ukončit interpret Pythonu. To můžete provést pomocí CTRL + D. Poté musíte nainstalovat matplotlib pomocí pip:
|
1 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">cloudsigma@ubuntu:~$ pip install matplotlib</span> |
Nyní budete moci úspěšně importovat matplotlib v interpretu pomocí příkazu import matplotlib. Tentokrát to nevrátí žádnou chybu.
Jak importovat moduly?
Pojďme se podívat na to, jak importovat moduly. Chcete-li využít jeho funkce, musíte modul importovat pomocí import příkazu. Příkaz se skládá z klíčového slova import spojeného s názvem modulu. Název modulu se obvykle nachází na začátku kódu v souboru Pythonu.
Pokud se například díváte na soubor Pythonu s názvem my_rand_int.py, importujete modul random pro generování náhodných čísel:
|
1 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">import random</span> |
Na funkci budete muset odkazovat pomocí tečkové notace. Vypadalo by to nějak takto: [module].[function]. To v podstatě znamená, že modul můžete v aktuálním souboru použít jako samostatný jmenný prostor.
Pokračujme s modulem a podívejme se na některé funkce:
random.randint(): Tato funkce vrátí náhodné celé číslo.random.randrange(): Tato funkce vrátí náhodný prvek ze zadaného rozsahu. Podívejme se, jak můžete vytvořitforcyklus. Budeme volat jednu z funkcí prorandommodul v našem aktuálním programu, kterým jemy_rand_int.py:
|
1 2 3 4 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">import random for i in range(10): print(random.randint(1, 25))</span> |
for. Jak vidíte, cyklus bude pracovat s 10 prvky. Program vypíše náhodné celé číslo v inkluzivním rozsahu od 1 do 25. To znamená, že celá čísla 1 a 25 jsou parametry random.randint().
Nyní, když program spustíte pomocí python my_rand_int.py, získáte na výstupu 10 náhodných celých čísel, jako je toto:
|
1 2 3 4 5 6 7 8 9 10 11 12 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">Výstup 6 9 1 14 3 22 10 1 15 9</span> |
Protože jsme použili modul random, získáte pokaždé nová celá čísla. Nebudou však vyšší ani nižší než 25. Někdy můžete také použít více import příkazů současně, například takto:
|
1 2 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">import random import math</span> |
Náš další modul použijeme tak, že do programu přidáme pi z math do programu. Snížíme také počet náhodných celých čísel:
|
1 2 3 4 5 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">import math import random for i in range(5): print(random.randint(1, 25)) print(math.pi)</span> |
Nyní bude náš výstup vypadat takto:
|
1 2 3 4 5 6 7 8 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">Výstup 18 10 7 13 10 3.141592653589793</span> |
Máme pět náhodných celých čísel a přibližnou hodnotu pi.
Jak používat from….import?
Kromě import, další příkaz, který byste měli znát, je from … import. To je užitečné, pokud nechcete na své funkce odkazovat pomocí tečkové notace. Tímto způsobem můžete volat funkce podle názvu a specifikovat odkazy přímo. V tomto příkladu budeme importovat randint() funkci z random modulu:
|
1 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">from random import randint</span> |
Přímo specifikujeme funkci, kterou chceme volat. Dokonce i v našem programu stačí uvést název funkce bez tečkové notace:
|
1 2 3 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">from random import randint for i in range(10): print(randint(1, 25))</span> |
Výstup bude stejný jako ten, který jste viděli výše. Rozdíl je v tom, že se nyní můžete zcela vyhnout použití tečkové notace.
Jak aliasovat moduly?
Měli byste se také seznámit s klíčovým slovem as. Pomocí tohoto klíčového slova můžete změnit názvy modulů a jejich funkcí. To může být nutné, pokud máte existující nebo nově importovaný modul, který používá stejný název. Příkaz pro aliasování modulů bude vypadat takto:
|
1 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">import [module] as [another_name]</span> |
V našem příkladu upravíme název math modulu. Zkrátíme jej a změníme na m. Program bude vypadat takto:
|
1 2 3 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">import math as m print(m.pi) print(m.e)</span> |
Jak vidíte, namísto odkazování na pi jako math.pi, jej voláme jako m.pi.
Určité moduly mají oficiální aliasy. Je to proto, že je velmi běžné, že lidé používají aliasy namísto jejich skutečných názvů. Vezměme v úvahu matplotlib.pyplot modul. V oficiální dokumentaci je jeho alias plt. Alias byste vytvořili takto:
|
1 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">import matplotlib.pyplot as plt</span> |
Závěr
Možnost přidávat a importovat moduly skutečně rozšiřuje svět programování v Pythonu. Umožňuje vám to jít nad rámec vestavěných funkcí. Můžete současně používat výchozí moduly Pythonu i ty, které nainstalujete pomocí pip. Ujistěte se, že tuto funkci využijete při vytváření něčeho složitějšího nebo sofistikovanějšího. Usnadňuje vám to práci, umožňuje kreativitu a pomáhá vytvářet robustní programy.
Na závěr uvádíme několik dalších zdrojů z našeho blogu, které vám pomohou dále využívat Python:
Příjemné programování!
Komentáře
Zatím žádné komentáře. Buďte první.