Modul obravnavajmo kot programsko knjižnico. To je datoteka, ki vsebuje množico funkcij, ki jih lahko vključimo v našo aplikacijo.
Modul naredimo tako, da programsko kodo shranimo v datoteko s podaljškom .py
Naredimo si knjižnico uporabnih funkcij in shranimo naslednjo kodo v datoteko z imenom mojModul.py
def vsota (a,b): return(a+b) def razlika (a,b): return a-b def produkt (a,b): return a*b def izpis (a): print ("vrednost= ",a) |
Pravkar narejen modul lahko uvozimo v naš program s stavkom import
Uvozili bomo prej tvorjeni modul in ga uporabili za klic funkcije pozdravljen:
import mojModul x = 20; y = 30 c = mojModul.vsota(x,y) d = mojModul.razlika (c,10) mojModul.izpis(d) |
Opomba:Ko uporabljamo funkcijo iz nekega modula, uporabimo naslednjo sintakso: imeModula.imeFunkcije
Stvar je lahko malo nepregledna. Pri uvozu lahko damo modulu bolj smiselno ali krajše ime z besedico as:
Za naš primer bi to lahko izgledalo tako:
import mojModul as mm x = 20; y = 30 c = mm.vsota(x,y) d = mm.razlika (c,10) mm.izpis(d) |
Po želji lahko uvozimo le dele modula. Uporabimo ključno besedo from. V našem primeru uvozimo pač vse upoirabljene funkcije
from mojModul import vsota,
razlika, izpis x = 20; y = 30 c = vsota(x,y) d = razlika (c,10) izpis(d) |
To pa je že bolj pregledno. No, če želimo uvoziti prav vse iz modula, hkrati pa izkoristiti možnost, da funkcije navajamo le z njihovimi imeni, uporabimo naslednjo obliko z zvezdico (ki pomeni "vse"):
from mojModul import * x = 20; y = 30 c = vsota(x,y) d = razlika (c,10) izpis(d) |
Modul ima lahko funkcije, pa tudi spremenljivke vseh tipov (polja, slovarje, objekte itd):
Kot zgled dopolnimo naš modul z bolj zanimivimi matematičnimi konstantami
Shranimo naslednjo kodo kot modul vektor.py:
PI = 3.14159265358 # stevilo PI E = 2.718281828459 # naravno stevilo def vsota (a,b): return(a+b) def razlika (a,b): return a-b ........ |
... in to uporabimo v našem programu..
from mojModul import * print(E) print(PI) |
Dobili bi izpis obeh kontant, lahko pa bi jih tudi uporabljali v naših računih.
Na voljo imamo več vnaprej pripravljenih (vgrajenih) modulov.
Primer, modul platform pove, v katerem okolju izvajamo naš program
import platform x = platform.system() print(x) |
Imamo vgrajeno (vnaprej pripravjeno) funkcijo dir(), ki poda seznam vseh funkcij in spremenljivk v nekem modulu.
Tako bi v našem prvem primeru z uporabo...
import mojModul x = dir(mojModul) print(x) |
...dobili izpis seznama vseh funkcij in spremenljivk, ki smo jih uvedli v
našem modulu.