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.