V tej učni enoti se bomo prvič srečali s pythonovimi moduli. Modul je pythonova datoteka, ki je prvenstveno namenjena uvažanju v druge pythonove datoteke, ne samostojnemu zaganjanju. Če modul uvozimo, lahko kličemo funkcije, ki so zapisane v njem. Modul nam tako omogoča, da iste funkcije kličemo v več različnih pythonovih datotekah (samostojnih programih ali drugih modulih). Oglejmo si preprost primer. V datoteko matematika.py
zapišimo ti funkciji:
def vsota(a, b): return a + b def razlika(a, b): return a - b
V datoteko test.py
, ki se mora nahajati v isti mapi kot datoteka matematika.py
, pa zapišimo te stavke:
# Uvozimo modul matematika.py import matematika # Sedaj lahko kličemo funkcije iz modula matematika.py print(matematika.vsota(3, 4)) print(matematika.razlika(7, 2))
Če program test.py
zaženemo, se seveda izpišeta števili 7 in 5.
Stavek import
ima več možnih oblik. Oblika
import matematika as matnam omogoča, da namesto
matematika.vsota(...)
in matematika.razlika(...)
pišemo kar mat.vsota(...)
in mat.razlika(...)
.
Če pa uporabimo obliko
from matematika import vsota, razlikalahko pišemo kar
vsota(...)
in razlika(...)
.
Pogosto je koristno, da lahko ista datoteka deluje bodisi kot modul ali pa kot samostojen program. To dosežemo tako:
Če datoteko matematika.py
zaženemo, se izvede funkcija main
, s pomočjo katere lahko preverimo delovanje funkcij vsota
in razlika
. Modul pa še vedno lahko uvozimo v neko drugo datoteko. V tem primeru se funkcija main
ne bo izvedla, razen če jo pokličemo.
V samostojnem programu uvozi modul matematika.py
in napiši funkcijo zmnozek(a, b)
, ki zmnožek podanih pozitivnih celih števil a
in b
izračuna s pomočjo funkcije vsota
, ki jo ponuja modul matematika.py
. Funkcijo tudi preizkusi.