Ev ders dê li dora modul û pakêtên di Python de be.
Ew rêyek in ku hûn koda xwe di forma pelan de birêxistin bikin û heke hûn dixwazin bi Python re serîlêdanên malperê ava bikin bi rastî girîng in.
modules
Modulek di Python de bi bingehîn pelek bi hin koda python e ku em bikar tînin da ku koda xwe di pelan de birêxistin bikin. Wê mîna beşên li supermarketek bifikirin. Dema ku hûn diçin supermarketek beşên cûda yên fêkî, sebze, paqijiyê hwd hene. Hûn bi hemî hilberan re yek beşê nabînin.
Di bernamekirinê de jî heman têgeh e. Li şûna ku em hemî koda xwe bi hemî fonksiyon û dersan di main.py de binivîsin, em koda xwe li gelek pelan vediqetînin. Her pel wekî modulek tête navnîş kirin. Bi vê yekê, ne tenê koda me çêtir organîze û birêkûpêk e, lê di heman demê de şiyana me heye ku em koda xwe ji nû ve bikar bînin. Ka em bi mînakek wê bibînin.
Werin em du fonksiyonan ji bo veguheztina giraniyê ji kîloyan bo kîloyan û berevajî diyar bikin.
def lbs_to_kg(weight):
return weight * 0.45
def kg_to_lbs(weight):
return weight / 0.45
Naha, em dikarin van her du fonksiyonan hildin û wan di modulek cihêreng a bi navê "veguhezker" de bihêlin, û dûv re ew dikare were nav her bernameyek ku hewceyê van fonksiyonên veguhêzker e. Bila ez nîşanî we bidim ka meriv çawa vê yekê dike.
Werin em panela projeya xwe vekin û projeyê rast-klîk bikin û pelek nû lê zêde bikin. Em ê ji vê pelê re bibêjin "Converters.py".
Naha kodê ji pelê xwerû kopî bikin û wê li "Converters.py" bixin.
Bi vê yekê, me modula xweya sereke paqij kiriye û ew bi fonksiyonên cihêreng veneqişîne. Gava ku em bêtir fonksiyonan bi dersan re dinivîsin, em wan di modulên wan ên têkildar de dinivîsin. Pêdivî ye ku modulek hemî fonksiyon û çînên têkildar hebin. Naha, em dixwazin modula veguherîneran têxin modula serîlêdana xwe. Ji bo vê yekê, binivîse import converters
li jor bêyî dirêjkirina ".py".
Em dikarin xwe bigihînin endamên modulek bi karanîna operatorek xalî ya mîna rêbazan.
Ka em 70 kg bikin pound:
Di heman demê de hevoksaziyek din jî heye ji bo importkirina modulan. Li şûna ku em modulê tevde bikin, em dikarin fonksiyonên taybetî ji wê modulê derxînin. Em dikarin binivîsin from Converters import
û "kontrol + cîh" bikirtînin da ku navnîşa fonksiyonên berdest nîşan bidin. Bi vê yekê, em dikarin rasterast bangî vê fonksiyonê bikin.
Fêre
Li vir temrîn te ye.
Ev bi xebatek ji dersa ku me li ser nîqaş kir ve girêdayî ye "ji bo loops” li wir me bernameyek nivîsand da ku ji navnîşek hejmara herî mezin bibînin
numbers = [8, 3, 6, 10, 5]
max = numbers[0]
for number in numbers:
if number > max:
max = number
print(max)
Vê kodê niha rêxistinek tune. Tu fonksiyon û modulên me tune ne û bername di pelek yekane de tê nivîsandin. Ew ji bo bernameyên piçûk baş e lê her ku bernameyên we mezin dibin, hûn hewce ne ku koda xwe bi rêkûpêk li ders û modulan birêxistin bikin. Ji ber vê yekê, wekî beşek ji vê xebatê, ez dixwazim ku hûn fonksiyonek binivîsin, jê re bang bikin find_max
. Divê ev fonksiyon lîsteyek bigire û di wê lîsteyê de hejmara herî mezin vegerîne. Piştî wê herin û vê fonksiyonê têxin modulek cihê, ji vir derxînin û têxin modulek ku jê re tê gotin utils
. Divê ev modul komek fonksiyonên bikêrhatî hebe. Import bike utils
module nav modula heyî û bang find_max
karî. Di dawiyê de, encamê bistînin û li ser termînalê çap bikin.
Ev temrîn hinekî dijwar e lê bi hêsanî pêkan e.
Çare
Bi diyarkirina fonksiyonek dest pê bikin find_max
û pîvanek bi navê hejmar lê zêde bike. Di hundurê vê fonksiyonê de, algorîtmaya ji bo dîtina hejmara herî mezin di navnîşekê de binivîsin.
def find_max(numbers):
max = numbers[0]
for number in numbers:
if number > max:
max = number
return max
Vê kodê di pelek "utils.py" de wekî modul tomar bike.
Vegere bernameya meya sereke, tenê modulê ji hêla her du hevoksaziyê ve têxe û bi tenê mantiqê bicîh bîne.
Tiştek, pêdivî ye ku ez bala we bikişînim ser binketinê max
. Sedema wê ew e max
di Python de fonksiyonek çêkirî ye û em wê ji nû ve pênase dikin. Ji ber vê yekê ev hişyariyek ji hêla Berhevkarê Python ku em êdî nikarin max-ê wekî fonksiyona wê ya çêkirî bikar bînin.
Modulên çêkirî yên li Python
Python bi pirtûkxaneyek standard ve tê ku gelek modul ji bo karên hevpar ên wekî şandina e-name, xebata bi tarîx û demjimêrê re, afirandina nirx û şîfreyên bêserûber û hwd. Gelek modulên ku berê di Python de hatine çêkirin hene ku tê vê wateyê ku jixwe gelek fonksiyon hene ku em dikarin ji nû ve bikar bînin. Hûn dikarin van modulan bibînin vir.
pakêtên
Pakêt bi bingehîn rêyek din e ku em kodê xwe li ser modulan organîze bikin. Projeyek rastîn dikare bi sedan an jî bi hezaran modulan vehewîne û bi demê re pelrêça me dê bi gelek pelan re bişewite. Ji ber vê yekê, nêzîkatiyek çêtir organîzekirina modulên têkildar di hundurê pakêtek de ye ku pakêtê dike konteynir ji bo gelek modulan.
Peldanokek nû li projeyê tê zêdekirin û hemî modulên têkildar li wê pelrêçê têne zêdekirin. Wek mînakek, li navendê bifikirin. Ji bo cil û bergên mêr, jin û zarokan di nav malekê de beşên cûda yên mîna pakêtan hene. Her beş ji bo cûrbecûr hilberên wekî pêlav, t-shirt û çakêtan deverên cûda hene. Vana wekî modulan bifikirin.
Ka em bibînin ka meriv çawa pakêtan di Python de diafirîne û bikar tîne.
Pêşîn, pelrêçek nû ji panelê projeyê zêde bikin. Ka em jê re bibêjin "e-Bazirganî". Ev pakêt dê hemî modulên ku bi serîlêdanek e-Bazirganî ve girêdayî ne vehewîne.
Ew hîn jî pelrêçek vala ye û ji bo veguhertina pakêtê, pêdivî ye ku em pelek taybetî tê de çêbikin. Pelê pythonek nû li vê pelrêçê zêde bikin û navê wê pelê "__init__" bikin. Ew di Python de peymanek taybetî ye û gava wergêrê Python pelek bi vî navî di pelrêçek de dibîne, ew vê pelrêça wekî pakêtek digire.
Di heman demê de rêbazek me ya alternatîf û kurt heye ku pakêtek çêbikin. Tenê li panela projeyê rast-klîk bikin û ji navnîşê pakêtek Python biafirînin. Navê wê "eCommerce" bikin û ew e. Ew ê bixweber pelrêçek bi pelek Python bi navê "__init__" biafirîne.
Naha, bila em di pakêtê de modulek biafirînin û navê wê bikin "shandin". Di vê modulê de, em fonksiyonek hêsan ji bo hesabkirina lêçûnên barkirinê biafirînin.
def calc_shipping():
print("calc_shipping")
Ji bo ku em bigihîjin vê fonksiyonê di modula meya sereke de, pêdivî ye ku em bi pakêta e-bazirganiyê bigihîjin wê. Carek din du awayên me hene ku em vê modulê îtxal bikin.
Di rêbaza yekem de, em dikarin hemî modulê derxînin û dûv re fonksiyonek serbixwe bi vî rengî bang bikin:
import eCommerce.shipping
eCommerce.shipping.calc_shipping()
Lêbelê, bi vê nêzîkbûnê re, gazîkirina yek ji fonksiyonên vê modulê hewce dike ku pêşgiriya wê pê re were danîn eCommerce.shipping.
Ew pir bi devkî ye. Ji ber vê yekê, dema ku bi pakêtan re dixebitin em pir caran nêzîkatiya duyemîn bikar tînin û bikar tînin from
îfade.
from eCommerce.shipping import calc_shipping
calc_shipping()
Ger di yek modulê de gelek fonksiyonên we hebin, hûn dikarin wan hemî di yek rêzê de bi karanîna navberên di navbera wan de import bikin. Ka em bibêjin di modula meya barkirinê de ji bo hesabkirina bacê fonksiyonek din heye. Ew ê bi vî rengî were import kirin:
from eCommerce.shipping import calc_shipping, calc_tax
Her weha hûn dikarin modulên ferdî derxînin û fonksiyonan bihêlin ku di qonaxek paşîn a bernameyê de werin gazî kirin. Ka em barkirina modulê import bikin û dûv re operatorek xalî bikar bînin da ku fonksiyonê bang bikin calc_shipping.
from eCommerce import shipping
shipping.calc_shipping()
Hot dog!
Pakêt û Modul di Python de pir girîng in. Bi taybetî, gava ku hûn dixwazin bi çarçoveyek mîna Django ya ku ji bo avakirinê tê bikar anîn bixebitin sepanên tevnê bi Python. Em ê di qursek din a Python de li Django binihêrin.
Ev gotara dawîn a kevneşopî di vê rêzê de bû. Dersa paşîn dê ji forma meya asayî dûr bikeve û em ê di Python de hin rewşên karanîna girîng fêr bibin. Ew ê dawiya vê rêzê nîşan bide û em ê derbasî rêza Python-a xweya din bibin. Ji bo vê yekê bisekinin.
Leave a Reply