Kar û
Heya nuha, me hemî koda xwe di app.py-ê de dinivîsand, lê her ku bernameyên me mezin dibin, ji bo organîzekirina koda xwe rêyek çêtir hewce dike. Pêdivî ye ku em koda xwe li perçeyên piçûktir, birêkûpêktir û birêkûpêktir ku em jê re fonksiyon dibêjin veqetînin. Fonksîyon ji bo çend rêzikên kodê konteynir e ku peywirek taybetî pêk tîne.
Mînakî, we berê li ser çend fonksiyonên çêkirî yên li Python fêr bûne print()
û input()
. Her fonksiyonek armancek heye û dizane ku meriv çawa karek taybetî pêk tîne. Ji ber vê yekê, dema ku em bernameyên tevlihev ên mezin çêdikin, divê em koda xwe li perçeyên piçûktir ên ji nû ve bikaranîna, ango fonksiyonan veqetînin.
Ka em vê têgehê bi avakirina bernameyek ji bo çapkirina peyamek silavê fêm bikin.
print('Hi there!')
print('Welcome aboard!')
Li vir bernameyek me ya hêsan bi tenê du rêzikên kodê heye. Naha, em bibêjin, em ê hewceyê wan di bernameyên din de bin da ku wan bixe nav fonksiyonek ku em ji nû ve bikar bînin.
Bihêle ez keywordek parastî bidim nasandin def
di Python de, ku kurteya define ye û ji bo diyarkirina fonksiyonek tê bikar anîn.
def greet_user():
print('Hi there!')
print('Welcome aboard!')
Naha ev bloka kodê dê fonksiyonek diyar bike "greet_user
” bi rêzên kodên piştî wê. Dema ku ev fonksiyon tê gotin, dê ev her du rêz bêne darve kirin. Ka em vê bikar bînin:
print('start')
greet_user()
print('finish')
Bername bi rêzê tê darve kirin, tê vê wateyê ku hûn ê berî ku hûn di bernameyê de bang bikin fonksiyonek diyar bikin.
Parametreyên
Fonksiyonên diyarkirî ji fonksiyonên çêkirî yên Python hinekî cûda dixebitin. Ji bo nimûne, di rewşê de print()
fonksiyonek, hin agahdariya ku em dixwazin çap bikin digire, lê fonksiyona silava me tu agahiyê nagire. Ma ne xweştir e ku hûn navê bikarhêner li vir derbas bikin û dûv re, li şûna ku hûn bibêjin "silav li wir", hûn dikarin navê bikarhêner çap bikin?
Hûn dikarin vê yekê bi lê zêdekirina parametreyên di hundurê paranteza fonksiyona diyarkirî de bikin. Bila ez nîşanî we bidim:
def greet_user(name):
print('Hi there!')
print('Welcome aboard!')
Niha "name
” di hundurê parantezê de dê wekî guhêrbarek herêmî tevbigere û dema ku em jê re dibêjin em dikarin navê bikarhêner derbas bikin.
greet_user('Shahbaz')
Naha parametreya navê wekî "Shahbaz
". Ka em bernameyê biguherînin da ku wê bikar bînin.
def greet_user(name):
print(f'Hi {name}')
print('Welcome aboard!')
print('start')
greet_user('Shahbaz')
print('finish')
Tiştek girîng a ku divê were zanîn ev e ku ji "nav" re di rêza yekem de Parametre tê gotin lê ji navê ku hatî peyda kirin ango Şahbaz wekî arguman tê gotin.
Ka em pêş de biçin û vê bernameyê bimeşînin.
Ji ber vê yekê bi van pîvanan, em dikarin di fonksiyonên xwe de agahdarî bistînin.
Naha, em tiştek balkêş bikin. Em bibêjin ku hûn dixwazin navekî din li peyama silavê zêde bikin. Ew hêsan e.
def greet_user(name):
print(f'Hi {name}')
print('Welcome aboard!')
print('start')
greet_user('Shahbaz')
greet_user('Aayush')
print('finish')
Naha bala xwe bidin ku gava fonksiyonek pîvanek hebe, em mecbûr in ku nirxek ji bo wê parametreyê derbas bikin. Heke hûn navê ji fonksiyonê derxînin û bernameyê bimeşînin, em ê xeletiyek bibînin. Di heman demê de hûn dikarin di fonksiyonek yekane de, ku ji hêla komê ve têne veqetandin, pir pîvanan bikar bînin.
Bo nimûne, greet_user(first_name, last_name):
. Arguman jî dê bi heman rengî bêne form kirin.
Argumentên Keyword
Heya nuha, me fêr bû ku gava ku em ji bo fonksiyonên xwe parametreyan diyar dikin divê em her gav nirxan peyda bikin wekî din em ê xeletiyek bistînin. Di bernameya dawî de, argûman 'Shahbaz'
û 'Bhatti'
ji argumanên pozîsyonê re tê gotin, tê wateya pozîsyon an rêzikên wan di bernameyê de.
Di Python de, me celebek argûmanek din heye ku jê re argumanên keyword têne gotin, ji bo ku pozîsyon ne girîng e. Bila ez nîşanî we bidim ka ew çawa dixebitin.
Li bernameya dawî binêrin. Em dikarin bi vî rengî biguherînin:
def greet_user(first_name, last_name):
print(f'Hi {first_name} {last_name}')
print('Welcome aboard!')
print('start')
greet_user(first_name='Shahbaz', last_name='Bhatti')
print('finish')
Now first_name
û last_name
Parametreyên keyword in. Hûn dikarin cîhên wan biguherînin û encam dê heman be.
Naha ev nayê vê wateyê ku divê em her gav argumanên keyword bikar bînin. Pir caran em argumanên pozîsyonê bikar tînin, lê di hin rewşan de, van argumanên keywordê ji me re dibe alîkar ku xwendina koda xwe baştir bikin.
Tiştek din heye ku hûn hewce ne ku di derbarê argumanên keyword de zanibin. Divê argumanên peyva sereke her gav piştî argumanên pozîsyonê werin.
Daxuyaniya Vegerê
Heya nuha em fêr bûne ka meriv çawa fonksiyonan biafirîne û bi karanîna parametreyên wan agahdarî bişîne. Naha em fêr bibin ka meriv çawa fonksiyonên ku nirxan vedigerîne biafirîne. Ev bi taybetî bikêr e heke hûn hin hesaban dikin û hûn dixwazin encamê vegerînin kesê ku fonksiyona we bikar tîne. Bila ez nîşanî we bidim.
Werin em fonksiyonek ku dê çargoşeya jimarekê hesab bike diyar bikin.
def square(number):
return number*number
Me daxuyaniya vegerê bikar aniye da ku vê hejmarê li derveyî fonksiyonê vegerîne. Naha, heke em bangî vê fonksiyonê bikin, ew nirxek mîna ya vedigerîne input()
karkirin. Ka em wê li ser termînalê çap bikin.
Hûn dikarin arguman bikin ku heman encam bêyî karanîna daxuyaniya vegerê dikare were bidestxistin. Ka em lê binerin.
Em du tiştan dibînin, hejmara 9, û tune. Li vir çi diqewime?
Dema ku wergêrê Python vê kodê dimeşîne, pêşî ew ê fonksiyona çargoşe bang bike û kontrol derbasî fonksiyonê dibe. Li vir em çargoşeya vê jimareya hatî dayîn hesab dikin û dûv re wê li ser termînalê çap dikin.
Naha, ji hêla xwerû, hemî fonksiyon nirxê tine vedigerînin. Ji ber vê yekê heke me li vir daxuyaniyek vegerê tune, ji hêla xwerû Python venagere. Ne tiştek e ku nebûna nirxek temsîl dike. Ew di C, C++, Java û Javascript de mîna tiştek an null e.
Hot dog!
Ez hêvî dikim ku we girîngiya fonksiyonan fêm kiriye.
Ger hûn plan dikin ku hûn di dema kariyera xweya kodkirinê de bernameyên mezin û tevlihev binivîsin ew aliyek girîng a fêrbûna Python in.
Leave a Reply