Përmbajtje[Fshih][Shfaqje]
Ky leksion do të përfshijë modulet dhe paketat në Python.
Ato janë një mënyrë për të organizuar kodin tuaj në formën e skedarëve dhe janë vërtet të rëndësishme nëse keni ndërmend të ndërtoni aplikacione ueb me Python
Modulet
Një modul në Python është në thelb një skedar me një kod python të cilin ne e përdorim për të organizuar kodin tonë në skedarë. Mendoni për atë si seksione në një supermarket. Kur shkoni në një supermarket ka seksione të ndryshme për fruta, perime, produkte pastrimi etj. Ju nuk shihni një seksion me të gjitha produktet.
Është i njëjti koncept në programim. Në vend që të shkruajmë të gjithë kodin tonë me të gjitha funksionet dhe klasat në main.py, ne e ndajmë kodin tonë në skedarë të shumtë. Çdo skedar referohet si një modul. Me këtë, jo vetëm që kodi ynë organizohet dhe strukturohet më mirë, por ne gjithashtu kemi mundësinë të ripërdorim kodin tonë. Le ta shohim përmes një shembulli.
Le të përcaktojmë dy funksione për shndërrimin e peshës nga kilogramë në kilogramë dhe anasjelltas.
def lbs_to_kg(weight):
return weight * 0.45
def kg_to_lbs(weight):
return weight / 0.45
Tani, ne mund t'i marrim këto dy funksione dhe t'i vendosim në një modul të veçantë të quajtur "konvertues", dhe më pas mund të importohet në çdo program që ka nevojë për këto funksione konverteri. Më lejoni t'ju tregoj se si ta bëni këtë.
Le të hapim panelin tonë të projektit dhe të klikojmë me të djathtën mbi projektin dhe të shtojmë një skedar të ri. Ne do ta quajmë këtë skedar "Converters.py".
Tani kopjoni kodin nga skedari i paracaktuar dhe ngjisni atë në "Converters.py".
Me këtë, ne kemi pastruar modulin tonë kryesor dhe nuk është i fryrë me funksione të ndryshme. Ndërsa shkruajmë më shumë funksione me klasa, i vendosim në modulet e tyre përkatëse. Një modul duhet të përmbajë të gjitha funksionet dhe klasat përkatëse. Tani, ne duam të importojmë modulin e konvertuesve në modulin tonë të aplikacionit. Për ta bërë këtë, shkruani import converters
në krye pa shtesën “.py”.
Ne mund të aksesojmë anëtarët e një moduli duke përdorur një operator pikash të ngjashëm me metodat.
Le ta kthejmë 70 kg në paund:
Ekziston edhe një sintaksë tjetër për importimin e moduleve. Në vend që të importojmë të gjithë modulin, ne mund të importojmë funksione specifike nga ai modul. Mund të shkruajmë from Converters import
dhe shtypni “control + space për të shfaqur listën e funksioneve të disponueshme. Me këtë, ne mund ta quajmë drejtpërdrejt këtë funksion.
Stërvitje
Këtu është ushtrimi juaj.
Kjo lidhet me një ushtrim nga ligjërata ku diskutuam "për sythe” ku kemi shkruar një program për të gjetur numrin më të madh nga një listë
numbers = [8, 3, 6, 10, 5]
max = numbers[0]
for number in numbers:
if number > max:
max = number
print(max)
Ky kod aktualisht nuk ka asnjë organizim. Ne nuk kemi asnjë funksion apo modul dhe programi është i shkruar në një skedar të vetëm. Kjo është në rregull për programet e vogla, por ndërsa programet tuaja rriten, ju duhet të organizoni siç duhet kodin tuaj në klasa dhe module. Prandaj, si pjesë e këtij ushtrimi, dua që ju të shkruani një funksion, ta quani atë find_max
. Ky funksion duhet të marrë një listë dhe të kthejë numrin më të madh në atë listë. Pas kësaj, vazhdoni dhe vendosni këtë funksion në një modul të veçantë, nxirreni nga këtu dhe vendoseni në një modul të quajtur utils
. Ky modul duhet të përmbajë një sërë funksionesh të dobishme. Importoni utils
modul në modulin aktual dhe telefononi find_max
funksionin. Më në fund, merrni rezultatin dhe printojeni në terminal.
Ky ushtrim është paksa sfidues, por lehtësisht i realizueshëm.
Zgjidhje
Filloni duke përcaktuar një funksion find_max
dhe shtoni një parametër të quajtur numra. Brenda këtij funksioni, shkruani algoritmin për gjetjen e numrit më të madh në një listë.
def find_max(numbers):
max = numbers[0]
for number in numbers:
if number > max:
max = number
return max
Ruaje këtë kod në një skedar "utils.py" si modul.
Kthehuni te programi ynë kryesor, thjesht importoni modulin sipas njërës prej dy sintaksave dhe thjesht ekzekutoni logjikën.
Një gjë, unë duhet të tërheq vëmendjen tuaj është ajo e minuar max
. Arsyeja për këtë është max
është një funksion i integruar në Python dhe ne po e ripërcaktojmë atë. Pra, ky është një paralajmërim nga Përpiluesi i Python se ne nuk mund të përdorim më max si funksion të tij të integruar.
Module të integruara në Python
Python vjen me një bibliotekë standarde që përmban disa module për detyra të zakonshme si dërgimi i emaileve, puna me datën dhe orën, gjenerimi i vlerave dhe fjalëkalimeve të rastësishme etj. Ka kaq shumë module të ndërtuara tashmë në Python që do të thotë se tashmë ka shumë funksionalitete që mund t'i ripërdorim. Ju mund t'i gjeni këto module këtu.
Paketat
Paketat janë në thelb një mënyrë tjetër për të organizuar kodin tonë në krye të moduleve. Një projekt i vërtetë mund të përmbajë qindra apo edhe mijëra module dhe me kalimin e kohës drejtoria jonë do të fryhet me kaq shumë skedarë. Prandaj, një qasje më e mirë është organizimi i moduleve të lidhura brenda një pakete që e bën paketën një kontejner për module të shumta.
Një direktori e re i shtohet projektit dhe të gjitha modulet përkatëse shtohen në atë direktori. Si shembull, mendoni për një qendër tregtare. Ka seksione të ndryshme për veshje për burra, gra dhe fëmijë në një qendër tregtare të cilat janë si pako. Çdo seksion ka zona të ndryshme për lloje të ndryshme produktesh si këpucë, bluza dhe xhaketa. Mendoni për këto si module.
Le të shohim se si të krijojmë dhe përdorim paketa në Python.
Së pari, shtoni një direktori të re nga paneli i projektit. Le ta quajmë atë "eCommerce". Kjo paketë do të përmbajë të gjitha modulet që lidhen me një aplikacion eCommerce.
Është ende një drejtori bosh dhe për ta kthyer atë në një paketë, duhet të krijojmë një skedar të veçantë në të. Shtoni një skedar të ri python në këtë direktori dhe emërtoni atë skedar "__init__". Është një konventë e veçantë në Python dhe kur interpretuesi Python sheh një skedar me këtë emër në një direktori, ai e trajton këtë direktori si një paketë.
Ne gjithashtu kemi një metodë alternative dhe koncize për të krijuar një paketë. Thjesht klikoni me të djathtën në panelin e projektit dhe krijoni një paketë Python nga lista. Emërtoni atë "eCommerce" dhe kaq. Do të krijojë automatikisht një direktori me një skedar Python të quajtur "__init__".
Tani, le të krijojmë një modul në paketë dhe ta emërtojmë atë "transport". Në këtë modul, le të krijojmë një funksion të thjeshtë për llogaritjen e kostove të transportit.
def calc_shipping():
print("calc_shipping")
Për të hyrë në këtë funksion në modulin tonë kryesor, duhet ta aksesojmë atë përmes paketës së tregtisë elektronike. Edhe një herë kemi dy mënyra për të importuar këtë modul.
Në metodën e parë, ne mund të importojmë të gjithë modulin dhe më pas të thërrasim një funksion në mënyrë të pavarur si kjo:
import eCommerce.shipping
eCommerce.shipping.calc_shipping()
Megjithatë, me këtë qasje, thirrja e një prej funksioneve në këtë modul kërkon prefiksimin e tij eCommerce.shipping.
Kjo është shumë e folur. Pra, kur punojmë me paketa, ne shpesh përdorim qasjen e dytë dhe përdorim atë from
deklaratë.
from eCommerce.shipping import calc_shipping
calc_shipping()
Nëse keni shumë funksione në një modul, mund t'i importoni të gjitha në një rresht të vetëm duke përdorur presje ndërmjet tyre. Le të themi se ka një funksion tjetër për llogaritjen e taksës në modulin tonë të transportit. Do të importohet si kjo:
from eCommerce.shipping import calc_shipping, calc_tax
Ju gjithashtu mund të importoni module individuale dhe të lini funksionet që të thirren në një fazë të mëvonshme në program. Le të importojmë transportin e modulit dhe më pas të përdorim një operator pikë për të thirrur funksionin calc_shipping.
from eCommerce import shipping
shipping.calc_shipping()
Përfundoje!
Paketat dhe modulet janë jashtëzakonisht të rëndësishme në Python. Sidomos, kur doni të punoni me një kornizë si Django e cila përdoret për ndërtim aplikacione në internet me Python. Ne do të shqyrtojmë Django gjatë një kursi tjetër Python.
Ky ishte ligjërata e fundit konvencionale në këtë seri. Leksioni tjetër do të devijojë nga formati ynë i zakonshëm dhe do të mësojmë disa raste të rëndësishme të përdorimit në Python. Kjo do të shënojë fundin e kësaj serie dhe ne do të kalojmë në serinë tonë të ardhshme Python. Qëndroni të sintonizuar për këtë.
Lini një Përgjigju