Moduli ni faili moja ya .py; mifuko ni saraka ya moduli. Imports hukuruhusu kutumia kod kutoka kwa moduli nyingine, akikuza programu kuwa sehemu zinazoweza kutumiwa tena.
Moduli na kuagiza
(): a + b
PI =
# main.py — different ways to import
import math_utils # import the whole module
math_utils.add(2, 3) # access via the module name
from math_utils import add, PI # import specific names
add(2, 3) # use directly
from math_utils import add as plus # import with an alias
import numpy as np # common aliasing convention
mypackage/
__init__.py ← marks it as a package (can be empty)
module_a.py
subpackage/
__init__.py
module_b.py
from mypackage.module_a import something
from mypackage.subpackage.module_b import other
Faili ya __init__.py inaweka alama saraka kama mifuko (na inaweza kuendesha kod ya kuanzisha mifuko au kufafanua kile from package import * kinachofichua).
if __name__ == "__main__"def main():
print("running as a script")
if __name__ == "__main__": # True only when run directly, not when imported
main()
Hii inaruhusu faili kuwa kazi kama moduli inayoweza kuagizwa na hati inayoweza kutekelezwa — kod chini yake inatekelezwa tu wakati faili inatekelezwa moja kwa moja (python file.py), si wakati wa kuagiza. Idiom ya Python kuhusu ulimwengu.
import sys
sys.path # the list of directories Python searches for imports
# includes: the current directory, installed packages (site-packages), stdlib
import os, json, datetime # standard library — "batteries included"
import requests # third-party — installed via pip from PyPI
Moduli na mifuko ndio jinsi unavyoandika kod ya Python kuwa vitengo vinavyoweza kutumiwa tena na vinavyofaa kutengeneza, badala ya faili moja kubwa — ni msingi kwa miradi yoyote isiyo ya kawaida.
Kuelewa mtindo wa kuagiza, muundo wa mifuko (__init__.py), idiom ya if __name__ == "__main__" (kazi mbili za hati/moduli), na jinsi Python inavyotafuta moduli (sys.path) ni muhimu kwa kuandika miradi, kutumiwa tena kod, na kutumia maktaba ya kawaida na ecosistem ya PyPI.
Makosa ya kuagiza na mkanganyiko wa muundo ni kizuizi cha awali cha kawaida ambacho ujuzi huu unasuluhisha.