Kazi
Kufikia sasa, tumekuwa tukiandika msimbo wetu wote katika app.py, lakini kadri programu zetu zinavyokua, tunahitaji njia bora ya kupanga msimbo wetu. Tunahitaji kugawanya misimbo yetu katika sehemu ndogo, zinazoweza kudhibitiwa zaidi, na zinazoweza kudumishwa zaidi ambazo tunaziita vipengele. Kazi ni chombo cha mistari michache ya kanuni inayofanya kazi maalum.
Kwa mfano, tayari umejifunza kuhusu kazi chache zilizojengwa katika Python print()
na input()
. Kila kazi ina kusudi na inajua jinsi ya kufanya kazi maalum. Kwa hivyo, tunapounda programu kubwa changamano, tunapaswa kuvunja msimbo wetu katika vipande vidogo vinavyoweza kutumika tena, yaani vitendaji.
Hebu tuelewe dhana hii kwa kujenga mpango wa kuchapisha ujumbe wa salamu.
print('Hi there!')
print('Welcome aboard!')
Hapa tuna mpango rahisi na mistari miwili tu ya kanuni. Sasa, hebu tuseme, tutazihitaji katika programu zingine ili kuziweka katika utendaji ambao tunaweza kutumia tena.
Acha nitambulishe neno kuu lililohifadhiwa def
katika Python, ambayo ni fupi ya kufafanua na inatumika kufafanua kazi.
def greet_user():
print('Hi there!')
print('Welcome aboard!')
Sasa kizuizi hiki cha nambari kitafafanua kazi "greet_user
” na mistari ya misimbo baada ya hapo. Kila kitendakazi hiki kinapoitwa, mistari hii miwili itatekelezwa. Hebu tumia hii:
print('start')
greet_user()
print('finish')
Programu inatekelezwa kwa mfuatano, ikimaanisha utalazimika kufafanua chaguo la kukokotoa kabla ya kuiita kwenye programu.
vigezo
Kazi zilizoainishwa hufanya kazi tofauti kidogo kuliko kazi zilizojengwa ndani za Python. Kwa mfano, katika kesi ya print()
chaguo la kukokotoa, inachukua taarifa fulani ambayo tunataka kuchapisha, lakini kipengele chetu cha kukokotoa hakichukui taarifa yoyote. Je, haingekuwa vyema zaidi ikiwa ungeweza kupitisha jina la mtumiaji hapa na kisha, badala ya kusema “hujambo”, unaweza kuchapisha jina la mtumiaji?
Unaweza kufanya hivyo kwa kuongeza vigezo ndani ya mabano ya kazi iliyofafanuliwa. Acha nikuonyeshe:
def greet_user(name):
print('Hi there!')
print('Welcome aboard!')
Sasa "name
” ndani ya mabano itafanya kama kigezo cha ndani na tunaweza kupitisha jina la mtumiaji wakati wa kuliita.
greet_user('Shahbaz')
Sasa parameta ya jina imewekwa kuwa "Shahbaz
”. Wacha tubadilishe programu ili kuitumia.
def greet_user(name):
print(f'Hi {name}')
print('Welcome aboard!')
print('start')
greet_user('Shahbaz')
print('finish')
Jambo muhimu kukumbuka ni kwamba "jina" katika mstari wa kwanza linaitwa Parameta ambapo jina linalotolewa yaani Shahbaz linaitwa hoja.
Hebu kwenda mbele na kuendesha programu hii.
Kwa hivyo kwa vigezo hivi, tunaweza kupokea habari katika kazi zetu.
Sasa, tufanye jambo la kuvutia. Tuseme unataka kuongeza jina lingine kwenye ujumbe wa salamu. Ni rahisi.
def greet_user(name):
print(f'Hi {name}')
print('Welcome aboard!')
print('start')
greet_user('Shahbaz')
greet_user('Aayush')
print('finish')
Sasa kumbuka kuwa wakati kitendakazi kina kigezo, tunalazimika kupitisha thamani ya parameta hiyo. Ukiondoa jina kutoka kwa kazi na kuendesha programu, tutapata hitilafu. Unaweza pia kutumia vigezo vingi katika kazi moja, ikitenganishwa na koma.
Kwa mfano, greet_user(first_name, last_name):
. Hoja pia zitapangwa vivyo hivyo.
Hoja za Maneno muhimu
Kufikia sasa, tumejifunza kwamba wakati wowote tunapofafanua vigezo vya utendakazi wetu tunapaswa kusambaza thamani kila wakati vinginevyo tutapata hitilafu. Katika mpango wa mwisho, hoja 'Shahbaz'
na 'Bhatti'
zinaitwa hoja za msimamo, kumaanisha msimamo wao au mpangilio wa mambo katika programu.
Katika Python, tunayo aina nyingine ya hoja inayoitwa hoja za maneno, ambayo msimamo haujalishi. Acha nikuonyeshe jinsi zinavyofanya kazi.
Angalia programu ya mwisho. Tunaweza kuirekebisha kama hii:
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')
Sasa first_name
na last_name
ni vigezo vya maneno muhimu. Unaweza kubadilisha maeneo yao na matokeo yatakuwa sawa.
Sasa hiyo haimaanishi tunapaswa kutumia hoja za maneno kila wakati. Mara nyingi sisi hutumia hoja za msimamo, lakini katika hali fulani, hoja hizi za manenomsingi hutusaidia kuboresha usomaji wa msimbo wetu.
Kuna jambo moja zaidi unahitaji kujua kuhusu hoja za maneno muhimu. Hoja za neno kuu zinapaswa kuja kila wakati baada ya hoja za msimamo.
Taarifa ya Kurudi
Kufikia sasa tumejifunza jinsi ya kuunda kazi na kuzituma habari kwa kutumia vigezo vyake. Sasa hebu tujifunze jinsi ya kuunda vitendaji ambavyo vinarudisha maadili. Hii ni muhimu sana ikiwa unafanya aina fulani ya hesabu na unataka kurejesha matokeo kwa yeyote anayetumia chaguo lako la kukokotoa. Ngoja nikuonyeshe.
Hebu tufafanue chaguo la kukokotoa ambalo litakokotoa mraba wa nambari.
def square(number):
return number*number
Tumetumia taarifa ya kurejesha kurudisha nambari hii nje ya chaguo la kukokotoa. Sasa, kama sisi wito kazi hii, ni anarudi thamani tu kama input()
kazi. Hebu tuchapishe kwenye terminal.
Unaweza kusema kuwa matokeo sawa yanaweza kupatikana bila kutumia taarifa ya kurudi. Hebu tuangalie.
Tunaona mambo mawili, nambari 9, na hakuna. Nini kinatokea hapa?
Wakati mkalimani wa Python atakapotekelezea nambari hii, kwanza itaita kitendakazi cha mraba na kidhibiti kinasogea kwa chaguo la kukokotoa. Hapa tunahesabu mraba wa nambari hii na kisha uchapishe kwenye terminal.
Sasa, kwa chaguo-msingi, vitendaji vyote havirudishi thamani yoyote. Kwa hivyo ikiwa hatuna taarifa ya kurudi hapa, kwa chaguo-msingi Python hairudishi yoyote. Hakuna kitu kinachowakilisha kutokuwepo kwa thamani. Ni kama hakuna kitu au null katika C, C++, Java na Javascript.
Maliza!
Natumai umeelewa umuhimu wa kazi.
Ni sehemu muhimu ya ujifunzaji wa Python ikiwa unapanga kuandika programu kubwa na ngumu wakati wa kazi yako ya uandishi.
Acha Reply