Hotuba hii itazunguka moduli na vifurushi kwenye Python.
Ni njia ya kupanga nambari yako katika mfumo wa faili na ni muhimu sana ikiwa unakusudia kuunda programu za wavuti na Python.
modules
Moduli katika Python kimsingi ni faili iliyo na msimbo fulani wa python ambao tunatumia kupanga nambari yetu kuwa faili. Fikiria kama sehemu katika duka kubwa. Ukienda supermarket kuna sehemu mbalimbali za matunda, mbogamboga, bidhaa za kusafishia n.k huoni sehemu moja yenye bidhaa zote.
Ni dhana sawa katika programu. Badala ya kuandika msimbo wetu wote na vipengele vyote na madarasa katika main.py, tunagawanya msimbo wetu katika faili nyingi. Kila faili inajulikana kama moduli. Kwa hili, si tu kwamba msimbo wetu umepangwa na kupangwa vyema, lakini pia tuna uwezo wa kutumia tena msimbo wetu. Hebu tuone kupitia mfano.
Hebu tufafanue kazi mbili za kubadilisha uzito kutoka kwa paundi hadi kilo na kinyume chake.
def lbs_to_kg(weight):
return weight * 0.45
def kg_to_lbs(weight):
return weight / 0.45
Sasa, tunaweza kuchukua kazi hizi mbili na kuziweka kwenye moduli tofauti inayoitwa "waongofu", na kisha inaweza kuingizwa kwenye programu yoyote inayohitaji kazi hizi za kubadilisha fedha. Acha nikuonyeshe jinsi ya kufanya hivi.
Hebu tufungue paneli yetu ya mradi na ubofye mradi huo na uongeze faili mpya. Tutaita faili hii "Converters.py".
Sasa nakili msimbo kutoka kwa faili chaguo-msingi na ubandike kwenye "Converters.py".
Kwa hili, tumesafisha moduli yetu kuu na haijavimba na utendaji tofauti. Tunapoandika kazi zaidi na madarasa, tunaziweka katika moduli zao zinazolingana. Moduli inapaswa kuwa na kazi zote zinazohusiana na madarasa. Sasa, tunataka kuleta moduli ya vigeuzi kwenye moduli yetu ya programu. Ili kufanya hivyo, andika import converters
juu bila kiendelezi ".py".
Tunaweza kufikia washiriki wa moduli kwa kutumia opereta ya nukta sawa na mbinu.
Wacha tubadilishe kilo 70 kuwa pauni:
Pia kuna syntax nyingine ya kuagiza moduli. Badala ya kuagiza moduli nzima, tunaweza kuagiza vitendaji maalum kutoka kwa moduli hiyo. Tunaweza kuandika from Converters import
na ubonyeze "control + space ili kuonyesha orodha ya vitendaji vinavyopatikana. Kwa hili, tunaweza kuita kazi hii moja kwa moja.
Zoezi
Hili hapa zoezi lako.
Hili linahusiana na zoezi kutoka kwenye mhadhara ambapo tulijadili “kwa matanzi” ambapo tuliandika programu ya kujua idadi kubwa zaidi kutoka kwenye orodha
numbers = [8, 3, 6, 10, 5]
max = numbers[0]
for number in numbers:
if number > max:
max = number
print(max)
Msimbo huu kwa sasa hauna shirika. Hatuna vipengele au moduli zozote na programu imeandikwa katika faili moja. Hiyo ni sawa kwa programu ndogo lakini mipango yako inapokua, unahitaji kupanga msimbo wako vizuri katika madarasa na moduli. Kwa hivyo, kama sehemu ya zoezi hili, nataka uandike kazi, iite find_max
. Chaguo hili la kukokotoa linapaswa kuchukua orodha na kurudisha nambari kubwa zaidi katika orodha hiyo. Baada ya hayo endelea na uweke kitendakazi hiki katika moduli tofauti, toa kutoka hapa na uweke kwenye moduli inayoitwa utils
. Moduli hii inapaswa kuwa na rundo la vitendaji vya matumizi. Ingiza utils
moduli kwenye moduli ya sasa na piga simu find_max
kazi. Hatimaye, pata matokeo na uchapishe kwenye terminal.
Zoezi hili ni gumu kidogo lakini linaweza kutekelezeka kwa urahisi.
Suluhisho
Anza kwa kufafanua chaguo la kukokotoa find_max
na ongeza parameta inayoitwa nambari. Ndani ya chaguo hili la kukokotoa, andika algorithm ya kutafuta nambari kubwa zaidi katika orodha.
def find_max(numbers):
max = numbers[0]
for number in numbers:
if number > max:
max = number
return max
Hifadhi msimbo huu katika faili "utils.py" kama moduli.
Rudi kwa programu yetu kuu, ingiza tu moduli kwa mojawapo ya sintaksia mbili na utekeleze mantiki kwa urahisi.
Jambo moja, ninahitaji kuleta mawazo yako ni kudhoofishwa max
. Sababu yake ni max
ni kazi iliyojengwa ndani ya Python na tunaifafanua upya. Hivyo hii ni onyo kutoka kwa Mkusanyaji wa chatu kwamba hatuwezi tena kutumia max kama utendaji wake wa ndani.
Moduli zilizojengwa ndani ya Python
Python inakuja na maktaba ya kawaida ambayo ina moduli kadhaa za kazi za kawaida kama vile kutuma barua pepe, kufanya kazi na tarehe na wakati, kutoa maadili ya nasibu na nywila na kadhalika. Kuna moduli nyingi tayari zimejengwa ndani ya Python ambayo inamaanisha tayari kuna utendakazi mwingi ambao tunaweza kutumia tena. Unaweza kupata moduli hizi hapa.
Packages
Vifurushi kimsingi ni njia nyingine ya kupanga msimbo wetu juu ya moduli. Mradi halisi unaweza kuwa na mamia au hata maelfu ya moduli na baada ya muda saraka yetu itavimba na faili nyingi. Kwa hivyo, mbinu bora ni kupanga moduli zinazohusiana ndani ya kifurushi ambacho hufanya kifurushi kuwa chombo cha moduli nyingi.
Saraka mpya imeongezwa kwa mradi na moduli zote zinazohusiana huongezwa kwenye saraka hiyo. Kwa mfano, fikiria duka la maduka. Kuna sehemu tofauti za nguo za wanaume, wanawake na watoto kwenye maduka ambayo ni kama vifurushi. Kila sehemu ina maeneo tofauti kwa aina tofauti za bidhaa kama vile viatu, t-shirt na jaketi. Fikiria hizi kama moduli.
Wacha tuone, jinsi ya kuunda na kutumia vifurushi kwenye Python.
Kwanza, ongeza saraka mpya kutoka kwa paneli ya mradi. Wacha tuite "eCommerce". Kifurushi hiki kitakuwa na moduli zote zinazohusiana na programu ya eCommerce.
Bado ni saraka tupu na kuibadilisha kuwa kifurushi, tunahitaji kuunda faili maalum ndani yake. Ongeza faili mpya ya python kwenye saraka hii na upe jina faili hiyo "__init__". Ni kusanyiko maalum huko Python na mkalimani wa Python anapoona faili iliyo na jina hili kwenye saraka, inachukua saraka hii kama kifurushi.
Pia tunayo njia mbadala na fupi ya kuunda kifurushi. Bonyeza kulia kwenye paneli ya mradi na uunda kifurushi cha Python kutoka kwenye orodha. Ipe jina "eCommerce" na ndivyo hivyo. Itaunda saraka kiotomatiki na faili ya Python inayoitwa "__init__".
Sasa, wacha tuunde moduli kwenye kifurushi na tuite jina la "usafirishaji". Katika moduli hii, wacha tuunda kazi rahisi ya kuhesabu gharama za usafirishaji.
def calc_shipping():
print("calc_shipping")
Ili kufikia kipengele hiki katika moduli yetu kuu, tunapaswa kuipata kupitia kifurushi cha e-commerce. Kwa mara nyingine tena tuna njia mbili za kuagiza moduli hii.
Kwa njia ya kwanza, tunaweza kuagiza moduli nzima na kisha kuita kitendaji kwa kujitegemea kama hii:
import eCommerce.shipping
eCommerce.shipping.calc_shipping()
Walakini, kwa mbinu hii, kupiga simu moja ya vitendaji kwa moduli hii kunahitaji kuakisi nayo eCommerce.shipping.
Hiyo ni verbose sana. Kwa hivyo, tunapofanya kazi na vifurushi mara nyingi hutumia njia ya pili na kutumia from
kauli.
from eCommerce.shipping import calc_shipping
calc_shipping()
Ikiwa una vitendaji vingi katika moduli moja unaweza kuziingiza zote kwa mstari mmoja kwa kutumia koma kati yazo. Wacha tuseme kuna kazi nyingine ya kuhesabu ushuru katika moduli yetu ya usafirishaji. Hiyo italetwa kama hii:
from eCommerce.shipping import calc_shipping, calc_tax
Unaweza pia kuagiza moduli za kibinafsi na kuacha vitendaji ili kuitwa katika hatua ya baadaye katika programu. Wacha tuagize usafirishaji wa moduli kisha tutumie opereta ya nukta kupiga simu calc_shipping.
from eCommerce import shipping
shipping.calc_shipping()
Maliza!
Vifurushi na Moduli ni muhimu sana katika Python. Hasa, unapotaka kufanya kazi na mfumo kama Django ambao hutumiwa kujenga matumizi ya wavuti pamoja na Python. Tutaangalia Django wakati wa kozi nyingine ya Python.
Hii ilikuwa hotuba ya mwisho ya kawaida katika mfululizo huu. Muhadhara unaofuata utaachana na umbizo letu la kawaida na tutajifunza visa vingine muhimu vya utumiaji katika Python. Hiyo itaashiria mwisho wa safu hii na tutaendelea kwenye safu yetu inayofuata ya Python. Endelea kufuatilia kwa hilo.
Acha Reply