Úvod
Väčšina z nás pozná Python ako programovací jazyk. Jednou zo skvelých vecí na Pythone 3 je nespočetné množstvo vstavaných funkcií, ktoré ponúka. K týmto funkciám získate prístup, keď používate Python 3 na písanie rôznych typov kódu. Skôr než začneme, pozrite si náš návod na inštaláciu Pythonu 3 a nastavenie lokálneho programovacieho prostredia na Ubuntu 16.04. Teraz sa poďme pozrieť na niektoré z užitočných funkcií Pythonu:
print(): Táto funkcia vám umožňuje vytlačiť výrazy.abs(): Pomocou tejto funkcie môžete získať absolútnu hodnotu akéhokoľvek čísla.int(): Táto vám umožňuje previesť akýkoľvek zadaný dátový typ na celé číslo.len(): Ukazuje dĺžku akejkoľvek sekvencie alebo kolekcie.
Sú vstavané funkcie postačujúce?
Bohužiaľ, tieto vstavané funkcie samy o sebe nestačia. Pri programovaní v Pythone 3 sa môže stať, že budete potrebovať viac funkcií. Nechcete byť obmedzovaní len predvolenými funkciami programu. Práve tu prichádzajú na rad moduly.
Čo sú moduly?
Moduly vám umožňujú vytvárať sofistikovanejšie programy. Otvárajú vám možnosti a poskytujú viac priestoru na prácu. Moduly zvyčajne pozostávajú zo súborov Pythonu .py. Každý z týchto súborov obsahuje časti kódu Pythonu. Na akýkoľvek súbor Pythonu sa môžete odkazovať ako na modul. Pomocou týchto modulov môžete robiť najrôznejšie veci. Môžete napríklad definovať funkcie, triedy, ako aj premenné. Na ne sa môžete odkazovať v iných súboroch Pythonu .py alebo prostredníctvom interpretéra príkazového riadku.
Povedzme, že máte súbor Pythonu s názvom hello.py. Názov modulu tohto súboru je hello. Tento modul môžete ľahko importovať do iných súborov Pythonu. Môžete ho použiť aj v interpretéri príkazového riadku Pythonu. Spôsob, akým importujete moduly do rôznych súborov, je použitie príkazu import. Keď importujete modul, v podstate spúšťate kód vo vnútri modulu. Definície v module tak sprístupňujete pre aktuálny súbor.
In tejto komplexnej príručke sa budeme zaoberať tým, ako môžete kontrolovať a inštalovať moduly v Pythone 3. Povieme si tiež o tom, ako importovať vaše moduly a vytvárať pre ne aliasy.
Ako skontrolovať moduly?
Ako sme už spomínali, v Pythone 3 existujú niektoré vstavané moduly. Tie nájdete v štandardnej knižnici Pythonu. Táto knižnica obsahuje niekoľko štandardných modulov, ktoré vykonávajú niektoré základné systémové funkcie a riešenia. Je to predvolená funkcia, ktorú získate, keď si nainštalujete Python.
Ak potrebujete skontrolovať, či sú tieto moduly pripravené na použitie, musíte zadať príkaz. Budete musieť vstúpiť buď do lokálneho programovacieho prostredia Python 3, alebo do programovacieho prostredia založeného na serveri. Potom budete musieť spustiť interpretér Pythonu vo vašom príkazovom riadku. Bude to vyzerať nejako takto:
|
1 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">cloudsigma@ubuntu:~$ python</span> |
Teraz môžete spustiť príkaz import. Tým sa potvrdí, že modul je možné v prípade potreby vyvolať. Povedzme, že spustíte príkaz s math modulom:
|
1 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">import math</span> |
Modul math je vstavaný modul v Pythone. To znamená, že interpret dokončí úlohu bez akejkoľvek spätnej väzby. Vráti vás do príkazového riadku. Modul môžete začať ihneď používať bez akejkoľvek ďalšej akcie.
Ako nainštalovať moduly?
Na druhej strane, povedzme, že chcete spustiť modul, ktorý nie je nainštalovaný. V našom príklade budeme uvažovať o knižnici na 2D vykresľovanie matplotlib. Tu je návod, ako by ste spustili príkaz import s takýmto modulom:
|
1 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">import matplotlib</span> |
Ak ste modul nenainštalovali, dostanete takúto chybu:
|
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 najprv deaktivovať interpret Pythonu. Môžete to urobiť pomocou CTRL + D. Ďalej musíte nainštalovať matplotlib pomocou pip:
|
1 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">cloudsigma@ubuntu:~$ pip install matplotlib</span> |
Teraz budete môcť úspešne importovať matplotlib v interprete pomocou príkazu import matplotlib. Tentoraz to nevráti chybu.
Ako importovať moduly?
Pozrime sa na to, ako importovať moduly. Ak chcete využiť jeho funkcie, musíte modul importovať pomocou príkazu import. Príkaz pozostáva z kľúčového slova import spojeného s názvom modulu. Názov modulu sa zvyčajne nachádza na začiatku kódu v súbore Python.
Napríklad, ak sa pozeráte na súbor Python s názvom my_rand_int.py, importujete modul random na generovanie náhodných čísel:
|
1 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">import random</span> |
Na funkciu budete musieť odkazovať pomocou bodkovej notácie. Vyzeralo by to nejako takto: [module].[function]. V zásade to znamená, že modul môžete použiť ako samostatný menný priestor v aktuálnom súbore.
Pokračujme s modulom a pozrime sa na niektoré funkcie:
random.randint(): Táto funkcia vráti náhodné celé číslo.random.randrange(): Táto funkcia vráti náhodný prvok zo zadaného rozsahu. Pozrime sa, ako môžete vytvoriť cyklusfor. Budeme volať jednu z funkcií prerandommodul v našom aktuálnom programe, ktorý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. Ako vidíte, cyklus bude pracovať s 10 prvkami. Program vytlačí náhodné celé číslo v inkluzívnom rozsahu od 1 do 25. To znamená, že celé čísla 1 a 25 sú parametrami random.randint().
Teraz, keď spustíte program pomocou python my_rand_int.py, dostanete na výstupe 10 náhodných celých čísel takto:
|
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> |
Keďže sme použili modul random, zakaždým dostanete nové celé čísla. Nebudú však vyššie ani nižšie ako 25. Niekedy môžete použiť aj viacero príkazov import súčasne, napríklad takto:
|
1 2 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">import random import math</span> |
Náš dodatočný modul použijeme tak, že do programu pridáme pi z modulu math do programu. Znížime tiež 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> |
Teraz bude náš výstup vyzerať 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äť náhodných celých čísel a približnú hodnotu pi.
Ako používať from….import?
Okrem import, ďalší príkaz, o ktorom by ste mali vedieť, je from … import. To je užitočné vtedy, keď nechcete na svoje funkcie odkazovať pomocou bodkovej notácie. Týmto spôsobom môžete funkcie volať priamo podľa názvu a špecifikovať referencie. V tomto príklade budeme importovať randint() funkciu z modulu random module:
|
1 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">from random import randint</span> |
Priamo špecifikujeme funkciu, ktorú chceme volať. Dokonca aj v našom programe stačí uviesť názov funkcie bez bodkovej notácie:
|
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 rovnaký ako ten, ktorý ste videli vyššie. Rozdiel je v tom, že sa teraz môžete úplne vyhnúť používaniu bodkovej notácie.
Ako vytvoriť alias pre moduly?
Mali by ste tiež poznať kľúčové slovo as . Pomocou tohto kľúčového slova môžete zmeniť názvy modulov a ich funkcií. Možno to budete musieť urobiť, ak máte existujúci alebo novo importovaný modul, ktorý používa rovnaký názov. Príkaz pre vytvorenie aliasu modulu bude vyzerať takto:
|
1 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">import [module] as [another_name]</span> |
V našom príklade upravíme názov modulu math. Skrátime ho a zmeníme ho na m. Program bude vyzerať 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> |
Ako môžete vidieť, namiesto odkazovania na pi ako math.pi, ho voláme m.pi.
. Niektoré moduly majú oficiálne aliasy. Je to preto, že je veľmi bežné, že ľudia používajú aliasy namiesto ich skutočných názvov. Vezmime si napríklad modul matplotlib.pyplot. V oficiálnej dokumentácii je jeho alias plt. Alias by ste vytvorili takto:
|
1 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">import matplotlib.pyplot as plt</span> |
Záver
Schopnosť pridávať a importovať moduly skutočne rozširuje svet programovania v Pythone. Umožňuje vám to dostať sa za hranice len vstavaných funkcií. Môžete súčasne používať predvolené moduly Pythonu, ako aj tie, ktoré si nainštalujete pomocou pip. Uistite sa, že túto funkciu využijete pri vytváraní niečoho zložitejšieho alebo sofistikovanejšieho. Uľahčuje to vašu prácu, umožňuje kreativitu a pomáha budovať robustné programy.
Na záver uvádzame niekoľko ďalších zdrojov z nášho blogu, ktoré vám pomôžu ďalej využívať Python:
Príjemné programovanie!
Komentáre
Zatiaľ žiadne komentáre. Buďte prvý.