Pythonov modul

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 mat
nam 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, razlika
lahko 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:

Izvedi Počisti



Č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.

Vaja