Jedna z najlepších vlastností Pythonu, ako sme videli v dodávky predchádzajúci kurz programovania v Pythone s použitím Linuxu, je to Kód je možné opätovne použiť v iných častiach aplikácie alebo v iných aplikáciách.
V tomto príspevku uvidíme Ako používať programy v rámci iných programov bez toho, aby ste do nich museli vkladať alebo písať kódToto je užitočné, pretože Python má množstvo knižníc pre špecifické úlohy, ktoré nás oslobodzujú od práce s „znovuvynájdením kolesa“.
Kurz programovania v Pythone s využitím Linuxu
Doteraz sme definovali funkciu a volali ju, keď sme ju potrebovali. Teraz si predstavíme koncept modulu. Modul je súbor, v ktorom sú definované funkcie a triedy a deklarované premenné. Keďže moduly sú nezávislé súbory, ich použitie na vytváranie rozsiahlych projektov uľahčuje údržbu a aktualizáciu.
Python obsahuje množstvo modulov pre rôzne úlohy a môžeme si vytvoriť aj vlastné.
Výhody používania modulov sú:
- Opätovné použitie: Môžeme napísať program, ktorý vykoná konkrétnu úlohu (napríklad výpočet dane), a volať ho na použitie v toľkých programoch, koľko túto funkciu potrebujeme, bez toho, aby sme museli prepisovať kód.
- poradie: Moduly pomáhajú logicky rozdeliť časti projektu, čo umožňuje každému s minimálnymi znalosťami Pythonu pochopiť, čo každá časť programu robí.
- Údržba: Čím je kód kratší, tým ľahšie je nájsť chyby a vykonať úpravy.
- Škálovateľnosť: Pri veľkých projektoch modulárna konštrukcia uľahčuje rozdelenie a opätovné zjednotenie práce.
- Kníhkupectvá: Python poskytuje programátorom širokú škálu modulov, od tvorby hier až po rozsiahle projekty umelej inteligencie.
Pre správne zostavenie projektu v Pythone v moduloch je potrebné rozdeliť a uložiť jednotlivé časti do súborov s príponou .py. V ideálnom prípade by ste mali dodržiavať tieto kritériá:
- identifikovať časti kódu, ktoré vykonávajú podobné funkcie: Napríklad môžeme zoskupiť zber údajov v jednom module, spracovanie v inom a výstup a ukladanie v inom.
- Priradenie Popisné názvy: Cieľom je, aby každý na prvý pohľad vedel, čo ktorý modul robí. Ak ide o modul na overovanie údajov, je užitočnejšie nazývať ho validation.py ako 1234.py.
Vytvoríme modul s názvom mostrar_distro.py. Toto je tento modul:
Tento modul vytvára funkciu na výpis názvu distribúcie, ktorá bude zadaná v programe, ktorý funkciu importuje, spolu s textom „Najlepšia distribúcia je... Nepochybujte o tom“.
Toto je aplikácia, ktorá volá modul.
Tento program zavolá modul, ktorý sme predtým uložili, vyvolá funkciu distribúcie a vykoná ju s parametrom „Ubuntu“. Ak v module niečo zmeníme, napríklad text zobrazený vedľa názvu distribúcie, prejaví sa to v programe.
Pokyn na import
Ako sme videli v kóde, na importovanie modulu urobíme
import nombre_modulo
Rozšírenie nie je pridanén.py
Nemusíme však importovať celý modul. Môžeme importovať konkrétne časti:
from nombre_modulo import elemento1, elemento2
Pre úsporu písania alebo pre zabránenie konfliktom názvov je možné importovanému modulu priradiť alias.
import nombre_moulo as nm
Použitie nm v akomkoľvek odkaze na modul v kódovom názve.
Ak nechceme odkazovať na modul pri každom volaní jedného z jeho prvkov, môžeme urobiť nasledovné:
from nombre_modulo import *
To nám umožní volať každý prvok modulu z kódu, akoby sme ho definovali v samotnom kóde. Mohlo by to však spôsobiť konflikty s existujúcimi prvkami.
Umiestnenie modulov
V prvom článku kurzu sme vysvetlili koncept virtuálnych prostredí. Táto prax, ktorá je povinná v Ubuntu a iných distribúciách Linuxu a voliteľná vo Windowse, vytvára štruktúru súborov, ktorá obsahuje umiestnenia na ukladanie modulov. Modul môže byť vo všeobecnosti uložený na troch miestach:
- Adresár, v ktorom sa nachádza hlavný program, ktorý volá modul.
- Ak ste ho nainštalovali pomocou správcu balíkov, nachádza sa v priečinku lib virtuálneho prostredia.
- V používateľom definovaných adresároch je umiestnenie zadané v príkaze import.
Typy modulov:
- Štandardné moduly: Sú súčasťou inštalácie Pythonu a slúžia širokej škále bežných programátorských úloh, ako je napríklad generovanie náhodných čísel. Nevyžadujú si žiadnu ďalšiu konfiguráciu a vyvíjajú ich tí istí vývojári ako samotný jazyk.
- Moduly vyvinuté používateľmi: Reagujú na špecifické potreby projektu a ak sú sprístupnené iným používateľom na fórach alebo stránkach na sťahovanie, neexistuje žiadna záruka oficiálnej podpory alebo aktualizácií.
- Udržiavané tretími stranami: Inštalujú sa pomocou špecifických správcov balíkov a spĺňajú bežné potreby mnohých používateľov, ktoré nie sú pokryté štandardnými modulmi, ako napríklad odosielanie správ cez WhatsApp. Hoci ich v mnohých prípadoch udržiavajú spoločnosti alebo zodpovední používatelia s kompletnou a aktuálnou dokumentáciou, našli sa aj škodlivé balíky.
Niektoré príklady štandardných modulov sú:
- math: Poskytuje podporu pre matematické funkcie, ako sú výpočty koreňov, trigonometria, logaritmy a konštanty.
- random: Používa sa na generovanie náhodných čísel a náhodný výber prvkov.
- Dátum a čas: Správa kalendára, práca s dátumami a časmi a výpočet časových rozdielov.
- os: Zaoberá sa interakciou aplikácie s operačným systémom vrátane práce so súbormi, adresármi a premennými prostredia.
Správca balíčkov pip
Rovnako ako mnoho iných mien vo svete slobodného softvéru, aj pip je rekurzívna skratka v angličtine pre inštalátor balíkov pip. Je to oficiálny nástroj na inštaláciu modulov vytvorených tretími stranami. Môžeme si pozrieť zoznam dostupných balíkov tu.
Základné príkazy sú:
Inštalácia modulu
pip3 install nombre_modulo
Aktualizačný modul
pip3 install --upgrade nombre_modulo.
Odinštalovať modul
pip3 uninstall nombre_modulo
V ďalšej časti budeme v kurze pokračovať.