Ako sa zaoberaš s Python, rýchlo natrafíš na koncept modulov. Tieto ti umožňujú štruktúrovať tvoj kód a vytvárať znovu použiteľné funkcie. Nielenže to prispieva k poriadku, ale tiež zlepšuje efektivitu tvojej programovania. V tomto tutoriále sa dozvieš, ako vytvárať a importovať moduly v Pythone. Pozrieme sa, ako môžeš pracovať s vlastným súborom, aby si poskytoval rôzne matematické funkcie a následne ich používal v inom Python skripte.

Najdôležitejšie poznatky

  • Moduly sú jednoducho súbory Python, ktoré obsahujú rôzne funkcie.
  • Importovanie modulov umožňuje lepšiu štruktúru tvojho kódu.
  • Môžeš importovať moduly pod rôznymi názvami alebo iba špecifické funkcie.
  • Pomocou aliasov a selektívneho importu sa vyvaruješ konfliktov názvov.

Krok za krokom návod

Vytvorenie modulu

Aby si vytvoril modul v Pythone, na začiatok potrebuješ súbor s príslušnými funkciami. V našom príklade vytvoríme súbor s názvom arithmetik.py, ktorý obsahuje niektoré základné matematické funkcie, ako je sčítanie, odčítanie a násobenie. Môžeš súbor vytvoriť v ľubovoľnom textovom editore.

Vytvorenie a importovanie modulu v Pythone

V arithmetik.py definuješ jednotlivé funkcie:

def odcitaj(a, b): return a - b

def nasob(a, b): return a * b

Tu máme tri jednoduché funkcie, ktoré neskôr použiješ vo svojom hlavnom skripte.

Importovanie modulu

Teraz, keď si vytvoril svoj modul arithmetik.py, môžeš ho použiť v inom skripte. Vytvor druhý súbor s názvom pocitadlo.py, ktorý sa nachádza v tom istom adresári ako tvoj modul.

Vytvorenie a importovanie modulu v Pythone

V pocitadlo.py importuješ modul pomocou nasledujúceho príkazu:

import arithmetik

Teraz môžeš pristupovať k funkciám svojho modulu. Definuj niekoľko premenných na demonštráciu:

a = 5
b = 12

Teraz môžeš napríklad zavolať funkciu pre sčítanie a vypísať výsledok:

print(arithmetik.odcitaj(a, b))

Tento riadok vypíše výsledok sčítania a a b. Keď teraz spustíš skript, uvidíš, že výstup je „17“.

Použitie aliasov

Ako chceš importovať modul pod kratším názvom, je to tiež možné. Takto:

import arithmetik as ar

Teraz môžeš volať funkcie s aliasom ar, čo skráti tvoj kód:

print(ar.nasob(a, b))

Aj s iným názvom funguje všetko ako obvykle. Je to len otázka preferencie.

Vytvorenie a importovanie modulu Python

Selektívne importovanie funkcií

Niekedy nepotrebuješ všetky funkcie z modulu. Môžeš si vybrať, ktoré funkcie chceš importovať. K tomu použiješ nasledujúcu syntaxu:

from arithmetik import odcitaj

Teraz je funkcia odcitaj priamo k dispozícii, bez nutnosti uvádzať názov modulu.

Ako zavoláš odcitaj(a, b), auto-doplnovanie ti ponúkne túto priamo, bez zahrnutia ďalších funkcií.

Riešenie konfliktov názvov

Ďalšou výhodou aliasov a selektívneho importu je možnosť vyhnúť sa konfliktom názvov. Ak máš modul, ktorý má rovnaký názov ako externá knižnica, môžeš funkcie napriek tomu používať.

Ak tvoj modul arithmetik.py má rovnaký názov ako matematický modul math.py, dostaneš konflikt. Pomocou aliasovania alebo selektívneho importu sa však môžeš vyhnúť tomuto problému.

Vytvorenie a importovanie modulu v Pythone

Záver o moduloch a importoch

Ako si už videl, moduly sú centrálnou súčasťou programovania v Pythone. Pomáhajú ti, aby si tvoj kód urobil modulárny a znovupoužiteľný. Importovanie a rôzne metódy importu ti dávajú flexibilitu a kontrolu nad prístupom k funkciám v tvojich skriptoch.

Zhrnutie – Základy používania a importovania Python modulov

V tomto tutoriále si sa naučil, ako vytvárať, importovať a používať jednoduché moduly Python. Dôležitosť štruktúrovania tvojho kódu je jasná vďaka modulom a rôznym možnostiam importu. Môžeš tak svoju programáciu podstatne zefektívniť.

Často kladené otázky

Čo je modul v Pythone?Modul je súbor Python, ktorý definuje funkcie, triedy a premenné, ktoré sa môžu používať v iných Python skriptoch.

ako importujem modul?Môžeš importovať súbor použitím príkazu import názov_modulu.

Aký je rozdiel medzi import názov_modulu a from názov_modulu import funkcia?Prvý príkaz importuje celý modul, zatiaľ čo druhý príkaz importuje iba špecifickú funkciu.

Ako sa môžem vyhnúť konfliktom názvov?Môžeš použiť aliasy alebo selektívne importovať funkcie, aby si sa vyhol konfliktom s inými modulmi.