Þessi fyrirlestur mun spanna einingarnar og pakkana í Python.
Þeir eru leið til að skipuleggja kóðann þinn í formi skráa og eru mjög mikilvægar ef þú ætlar að byggja vefforrit með Python
Modules
Eining í Python er í grundvallaratriðum skrá með einhverjum python kóða sem við notum til að skipuleggja kóðann okkar í skrár. Hugsaðu um það eins og hluta í stórmarkaði. Þegar þú ferð í matvörubúð eru mismunandi hlutar fyrir ávexti, grænmeti, hreinsiefni o.s.frv. Þú sérð ekki einn hluta með öllum vörunum.
Það er sama hugtakið í forritun. Í stað þess að skrifa allan kóðann okkar með öllum aðgerðum og flokkum í main.py, skiptum við kóðanum okkar upp í margar skrár. Hver skrá er nefnd eining. Með þessu er kóðinn okkar ekki aðeins betur skipulagður og uppbyggður, heldur höfum við einnig getu til að endurnýta kóðann okkar. Við skulum sjá það í gegnum dæmi.
Skilgreinum tvær aðgerðir til að breyta þyngd úr pundum í kíló og öfugt.
def lbs_to_kg(weight):
return weight * 0.45
def kg_to_lbs(weight):
return weight / 0.45
Nú getum við tekið þessar tvær aðgerðir og sett þær í sérstaka einingu sem kallast „breytir“ og síðan er hægt að flytja hana inn í hvaða forrit sem er sem þarfnast þessara breytiaðgerða. Leyfðu mér að sýna þér hvernig á að gera þetta.
Við skulum opna verkefnaspjaldið okkar og hægrismella á verkefnið og bæta við nýrri skrá. Við ætlum að kalla þessa skrá „Converters.py“.
Afritaðu nú kóðann úr sjálfgefna skránni og límdu hann inn í „Converters.py“.
Með þessu höfum við hreinsað upp aðaleininguna okkar og hún er ekki uppblásin af mismunandi aðgerðum. Þegar við skrifum fleiri aðgerðir með flokkum, setjum við þær í samsvarandi einingar þeirra. Eining ætti að innihalda allar tengdar aðgerðir og flokka. Nú viljum við flytja inn breytieininguna inn í appeininguna okkar. Til að gera þetta skaltu skrifa import converters
efst án endingarinnar „.py“.
Við getum fengið aðgang að meðlimum einingarinnar með því að nota punktaaðgerð sem líkist aðferðum.
Umbreytum 70 kg í pund:
Það er líka önnur setningafræði til að flytja inn einingar. Í stað þess að flytja inn alla eininguna getum við flutt inn sérstakar aðgerðir úr þeirri einingu. Við getum skrifað from Converters import
og ýttu á “control + bil til að sýna lista yfir tiltækar aðgerðir. Með þessu getum við hringt beint í þessa aðgerð.
Dæmi
Hér er æfingin þín.
Þetta tengist æfingu úr fyrirlestrinum þar sem við ræddum „fyrir lykkjur“ þar sem við skrifuðum forrit til að finna út stærstu töluna af lista
numbers = [8, 3, 6, 10, 5]
max = numbers[0]
for number in numbers:
if number > max:
max = number
print(max)
Þessi kóða hefur engin stofnun sem stendur. Við höfum engar aðgerðir eða einingar og forritið er skrifað í einni skrá. Það er allt í lagi fyrir lítil forrit en þegar forritin þín stækka þarftu að skipuleggja kóðann þinn almennilega í flokka og einingar. Þess vegna, sem hluti af þessari æfingu, vil ég að þú skrifir fall, kalla það find_max
. Þessi aðgerð ætti að taka lista og skila stærstu tölunni á þeim lista. Eftir það skaltu halda áfram og setja þessa aðgerð í sérstaka einingu, draga hana héðan og setja hana í einingu sem heitir utils
. Þessi eining ætti að innihalda fullt af aðgerðum. Flytja inn utils
mát inn í núverandi einingu og hringdu find_max
virka. Að lokum, fáðu niðurstöðuna og prentaðu hana á flugstöðinni.
Þessi æfing er svolítið krefjandi en auðvelt að framkvæma.
lausn
Byrjaðu á því að skilgreina fall find_max
og bæta við færibreytu sem kallast tölur. Inni í þessari aðgerð, skrifaðu reiknirit til að finna stærstu töluna á lista.
def find_max(numbers):
max = numbers[0]
for number in numbers:
if number > max:
max = number
return max
Vistaðu þennan kóða í skránni "utils.py" sem einingu.
Til baka í aðalforritið okkar, flyttu bara inn eininguna með annarri hvorri setningafræðinnar og einfaldlega keyrðu rökfræðina.
Eitt sem ég þarf að vekja athygli á er það sem er grafið undan max
. Ástæðan fyrir því er max
er innbyggð aðgerð í Python og við erum að endurskilgreina hana. Svo þetta er viðvörun frá Python þýðandi að við getum ekki lengur notað max sem innbyggða aðgerð.
Innbyggðar einingar í Python
Python kemur með stöðluðu bókasafni sem inniheldur nokkrar einingar fyrir algeng verkefni eins og að senda tölvupóst, vinna með dagsetningu og tíma, búa til handahófskennd gildi og lykilorð og svo framvegis. Það eru svo margar einingar þegar innbyggðar í Python sem þýðir að það er nú þegar fullt af virkni sem við getum endurnýtt. Þú getur fundið þessar einingar hér.
Pakkar
Pakkar eru í grundvallaratriðum önnur leið til að skipuleggja kóðann okkar ofan á einingarnar. Raunverulegt verkefni getur innihaldið hundruð eða jafnvel þúsundir eininga og með tímanum mun skráin okkar verða uppblásin af svo mörgum skrám. Þess vegna er betri nálgun að skipuleggja tengdar einingar inni í pakka sem gerir pakkann að íláti fyrir margar einingar.
Ný möppu er bætt við verkefnið og allar tengdar einingar eru bætt við þá möppu. Hugsaðu um verslunarmiðstöð sem dæmi. Það eru mismunandi hlutar fyrir karla, konur og barnafatnað í verslunarmiðstöð sem eru eins og pakkar. Hver hluti hefur mismunandi svæði fyrir mismunandi tegundir af vörum eins og skóm, stuttermabolum og jakkum. Hugsaðu um þetta sem einingar.
Við skulum sjá hvernig á að búa til og nota pakka í Python.
Fyrst skaltu bæta við nýrri möppu frá verkefnaborðinu. Við skulum kalla það „eCommerce“. Þessi pakki mun innihalda allar einingar sem tengjast rafrænu viðskiptaforriti.
Það er enn tóm mappa og til að breyta henni í pakka þurfum við að búa til sérstaka skrá í henni. Bættu við nýrri python skrá í þessa möppu og nefndu þá skrá „__init__“. Það er sérstakur venja í Python og þegar Python túlkurinn sér skrá með þessu nafni í möppu, fer hann með þessa möppu sem pakka.
Við höfum einnig aðra og hnitmiðaða aðferð til að búa til pakka. Hægrismelltu bara á verkefnisspjaldið og búðu til Python pakka af listanum. Nefndu það „eCommerce“ og það er það. Það mun sjálfkrafa búa til möppu með Python skrá sem heitir "__init__".
Nú skulum við búa til einingu í pakkanum og nefna hana „sending“. Í þessari einingu skulum við búa til einfalda aðgerð til að reikna út sendingarkostnað.
def calc_shipping():
print("calc_shipping")
Til að fá aðgang að þessari aðgerð í aðaleiningunni okkar verðum við að fá aðgang að henni í gegnum netverslunarpakkann. Enn og aftur höfum við tvær aðferðir til að flytja inn þessa einingu.
Í fyrstu aðferðinni getum við flutt inn alla eininguna og síðan kallað aðgerð sjálfstætt eins og þetta:
import eCommerce.shipping
eCommerce.shipping.calc_shipping()
Hins vegar, með þessari nálgun, þarf að kalla eina af aðgerðunum í þessa einingu að forskeyti það með eCommerce.shipping.
Það er mjög orðrétt. Svo þegar við vinnum með pakka notum við oft seinni aðferðina og notum from
yfirlýsing.
from eCommerce.shipping import calc_shipping
calc_shipping()
Ef þú ert með margar aðgerðir í einni einingu geturðu flutt þær allar inn í einni línu með því að nota kommur á milli þeirra. Segjum að það sé önnur aðgerð til að reikna út skatt í sendingareiningunni okkar. Það verður flutt inn svona:
from eCommerce.shipping import calc_shipping, calc_tax
Einnig er hægt að flytja inn einstakar einingar og láta aðgerðir verða kallaðar fram síðar í forritinu. Flytjum inn sendingareininguna og notum síðan punktakerfi til að kalla á aðgerðina calc_shipping.
from eCommerce import shipping
shipping.calc_shipping()
Klára!
Pakkar og einingar eru afar mikilvægar í Python. Sérstaklega þegar þú vilt vinna með ramma eins og Django sem er notaður til að byggja vefforrit með Python. Við munum skoða Django á öðru Python námskeiði.
Þetta var síðasti hefðbundni fyrirlesturinn í þessari röð. Næsti fyrirlestur mun víkja frá venjulegu sniði okkar og við munum læra nokkur mikilvæg notkunartilvik í Python. Það mun marka lok þessarar seríu og við munum halda áfram í næstu Python seríu okkar. Fylgstu með því.
Skildu eftir skilaboð