Katika somo hili tutakwend akujifunza kwa urefu zaidi kuhusu parameter ambazo hutumika kwenye functions
Katika somo hili, tutajadili aina za parameter zinazotumika kwenye Python function. Pia, tutaangazia jinsi ya kutumia parameter hizi kwa mpangilio sahihi na kufanya kazi na argument.
Mpangilio wa Parameter: Wakati wa kufafanua function, parameter lazima ziwe kwenye mpangilio maalum. Hali hii inahakikisha kuwa argument zinazotumwa kwa function zinafanana na parameter zinazotarajiwa.
Aina ya Data: Unapotoa argument kwa function, lazima uhakikishe kuwa zinaendana na aina ya data iliyotajwa kwenye parameter.
Mfano:
def intro(umri: int, jinsia: str):
print(f"Umri wako ni miaka {umri} na jinsia yako ni {jinsia}.")
def details():
# Omba maelezo kutoka kwa mtumiaji
umri = int(input("Andika umri wako: "))
jinsia = input("Andika jinsia yako: ")
# Piga intro() kwa kutumia maelezo yaliyotolewa
intro(umri, jinsia)
# Simamia utekelezaji wa details()
details()
Ikiwa utachanganya mpangilio au aina ya data, Python itaripoti kosa.
Default Parameter: Ni parameter yenye thamani ya awali (default value), hivyo haijalishi ikiwa argument haitatolewa. Inajulikana kwa alama ya = wakati wa kufafanua function.
Mfano:
def salamu(umri: int, jinsia: str, makazi: str = "Tanzania"):
print(f"Umri wako ni miaka {umri}, jinsia yako ni {jinsia}, unaishi {makazi}.")
# Programu inaanza moja kwa moja hapa
umri = int(input("Andika umri wako: "))
jinsia = input("Andika jinsia yako: ")
salamu(umri, jinsia)
Hapa, kama mtumiaji hatajaza sehemu ya makazi, itatumia thamani ya default Tanzania.
Optional Parameters: Ni parameter ambazo si lazima zijazwe. Hizi hupewa thamani ya None ikiwa hazijapewa argument.
Mfano:
def salamu(umri: int, jinsia: str, mkoa: str = None):
if mkoa:
print(f"Umri wako ni miaka {umri}, jinsia yako ni {jinsia}, unaishi {mkoa}.")
else:
print(f"Umri wako ni miaka {umri}, jinsia yako ni {jinsia}.")
# Kuomba maingizo ya mtumiaji moja kwa moja
umri = int(input("Andika umri wako: "))
jinsia = input("Andika jinsia yako: ")
mkoa = input("Andika Mkoa unaoishi (acha wazi kama hakuna): ")
# Kuita function moja kwa moja
salamu(umri, jinsia, mkoa if mkoa else None)
Required Parameters: Ni parameter ambazo lazima zijazwe. Python hairuhusu kuacha parameter hizo tupu bila kutoa kosa.
Mfano:
def salamu(umri: int, jinsia: str):
print(f"Umri wako ni miaka {umri} na jinsia yako ni {jinsia}.")
salamu(7,)
Hapo lazima upate error kwa sababu hujaweka parameter ya pili.
Hii inahitaji argument zote mbili (umri na jinsia) ili kufanikisha utekelezaji.
Function inaweza kutumika kama parameter ya function nyingine, ikitoa uwezo wa kufanya kazi ngumu zaidi. Kufanya hivi tutatumia keyword func kumaanisha kuw ahiyo position itakaliwa na function kama argument, na kama hiyo function inahitaji parameter zitawekw ambele yake. Angalia mfano hapo chini.
Mfano:
def ongeza(a: int, b: int) -> int:
return a + b
def toa(a: int, b: int) -> int:
return a - b
def operesheni(func, x: int, y: int):
return func(x, y)
# Kutumia function `ongeza` na `toa` kama parameter
result1 = operesheni(ongeza, 10, 5)
print(f"Matokeo ya ongeza: {result1}") # Output: 15
result2 = operesheni(toa, 10, 5)
print(f"Matokeo ya toa: {result2}") # Output: 5
Matumizi ya alama ( -> int: ).
Katika Python, sehemu -> int inajulikana kama type hint au type annotation. Inatumika kuonyesha aina ya thamani ambayo function inatarajiwa kurudisha (return type). Hii haibadilishi jinsi Python inavyotekeleza function, bali inatoa mwongozo kwa wasomaji wa msimbo au zana za uchambuzi wa msimbo kama linters au IDEs.
def ongeza(a: int, b: int) -> int:
return a + b
Function inaweza kuhifadhiwa kwenye variable na kutumika baadaye.
Mfano:
def salamu():
return "Habari! Karibu katika Python."
# Kutumia function kama variable
ujumbe = salamu
# Kuitumia variable kuendesha function
print(ujumbe()) # Hii itachapisha: Habari! Karibu katika Python.
Python inaruhusu kutumia function moja kama callback kwa function nyingine. Inamaanisha kuwa Python inatoa uwezo wa kupitisha function moja kama argument kwa function nyingine, ili function hiyo iliyopitishwa (callback) iweze kuitwa au kutekelezwa ndani ya hiyo function nyingine.
Mfano:
# Function ya callback
def salamu():
print("Habari kutoka salamu!")
# Function inayopokea callback
def tumia_callback(callback):
print("Niko kwenye function kuu.")
callback() # Inatekeleza function ya callback
# Kuitumia
tumia_callback(salamu)
salamu() ni function ambayo tunatumia kama callback.
tumia_callback(callback) ni function inayopokea function nyingine kama argument (callback).
Ndani ya tumia_callback, function ya callback inaitwa kwa kutumia jina lake (callback()).
Katika somo hili, tumeona aina mbalimbali za parameter, jinsi ya kuzitumia, na umuhimu wake kwenye Python function. Katika somo lijalo, tutajadili methods zinazofanya kazi mbalimbali kwenye data.
Jiunge nasi WhatsApp kupata update zetu
Umeionaje Makala hii.. ?
Katika somo hili utakwenda kujifunza jinsi ya kubadili ukurasa wa landing page wa Django na kuweka ukurasa tunaoutaka sisi.
Soma Zaidi...Katika somo hili tutakwenda kujifunza kuhusu string indexing. Kama tulivyojifunza kuhusu namba katika somo lililopita, basi hapa tutakwenda kucheza na string.
Soma Zaidi...Katika somo hili utakwenda kujifunza kuhusu number method yaani function zinazofanya kazi kwenye namba.
Soma Zaidi...Katika somo hili utakwenda kujifunza zaidi kuhusu Jinsi ya Kuongeza Kurasa Nyingine Katika Django View
Soma Zaidi...Katika somo hili utajifunz akutumia database kwenye python
Soma Zaidi...Katika somo hili utakwenda kujifunza kuhsu Template Tag nini na kazi zake. Pia utajifunza sheria za uandishi wake.
Soma Zaidi...Katika somo hili utajifunza jisni ya kujuwa aina ya data iliyotumika kwenye python
Soma Zaidi...Katika somo hili utajifunza maana ya variable, na sheria za kutengeneza variable kwenye python. Pia utajifunza maneno ambayo hayafai kutumiwa kama variable
Soma Zaidi...Katika somo hili utakwenda kujifunza kuhusu operator. Hasa hapa tutakwend akujifunz akuhusu comparison operaor.
Soma Zaidi...Katika somo hili utajifunza maana ya class, sheria za uandishi wake na mifano halisi
Soma Zaidi...