Ezweni lokuhlela, umuntu angase ahlangane nezimo lapho umsebenzi udinga ukuthatha inani elihlukahlukene lezimpikiswano. Yilapho igama elingukhiye le-Python elithi vars lisiza khona njengoba lisingatha kalula lezi zimpikiswano ezihlukahlukayo, liletha ukulula nokusebenza kahle kokuhlangenwe nakho kwakho kokubhala ikhodi. Kulesi sihloko, sizohlola indlela amagama angukhiye e- vars asebenza ngayo, sihlole amasu okuxazulula izinkinga ahilelekile, futhi sinikeze ukuhlukaniswa kwekhodi ngesinyathelo ngesinyathelo. Ngaphezu kwalokho, sizoxoxa ngamalabhulali ahlobene, imisebenzi, nezinye izici ezifanele ukuze sinikeze ukuqonda okujulile kwegama elingukhiye le- vars ku-Python.
Okokuqala, ake siqonde inkinga exazululwa yi -vars keyword. Kungase kube nezimo lapho udinga ukudlulisa inani elingalindelekile lama-agumenti kumsebenzi. I-Python inikeza ikhambi lale nkinga ngokusebenzisa amasu e- *args kanye ne -**kwargs , okuvumela ukufakwa kwezinombolo ezahlukahlukene zamapharamitha.
Ukusebenza nge-*args kanye** nama-kwargs
Ku-Python, i-*args isetshenziselwa ukudlulisa inombolo eguquguqukayo yezimpikiswano ezingezona ezegama elingukhiye (ezinesikhundla) kumsebenzi. Ivumela umsebenzi ukwamukela noma yiliphi inani lezimpikiswano zesikhundla, ezibe seziguqulwa zibe yi-tuple. Ngakolunye uhlangothi, i- **kwargs ivumela ukudlulisa inombolo eguquguqukayo yezimpikiswano zamagama angukhiye kumsebenzi. Lezi zimpikiswano zamagama angukhiye zibe seziguqulwa zibe isichazamazwi.
Manje ake sibheke isibonelo esibonisa ukusetshenziswa kwegama elingukhiye elithi vars kanye ne- *args kanye ne -**kwargs kumsebenzi we-Python.
def sample_function(*args, **kwargs):
print("Positional arguments:", args)
print("Keyword arguments:", kwargs)
sample_function(1, 2, 3, color="blue", size="large")
Uma uqalisa lolu hlelo, uzothola okukhiphayo okulandelayo:
Positional arguments: (1, 2, 3)
Keyword arguments: {'color': 'blue', 'size': 'large'}
Incazelo yesinyathelo ngesinyathelo yekhodi yesibonelo
1. Sichaza umsebenzi we-sample_owamukela kokubili *args kanye ne -**kwargs njengemingcele yawo.
2. Ngaphakathi kwesampula_function, siphrinta izimpikiswano zendawo (args) kanye nezimpikiswano zamagama angukhiye (kwargs).
3. Sibiza i-sample_function ngezimpikiswano ezintathu zokuma (1, 2, 3) kanye nezimpikiswano zamagama angukhiye amabili (umbala=”blue”, usayizi=”omkhulu”).
4. Okukhiphayo kubonisa ama-agumenti e-positional njenge-tuple kanye nezimpikiswano zegama elingukhiye njengesichazamazwi.
Ukunweba ukusebenza ngamalabhulali engeziwe nemisebenzi
Ukuze kuthuthukiswe ukusebenza kanye namakhono egama elingukhiye le- vars kanye nemibono ehlobene, umuntu angacabanga ukufaka imitapo yolwazi yangaphandle kanye nemisebenzi. Isibonelo, ukuqonda umtapo wolwazi we-itertools kungaba wusizo ekusebenzeni nemisebenzi ye-iterator lapho kukhulunywa ngezimpikiswano.
Ngaphezu kwalokho, umuntu angahlola umtapo wolwazi we-functools, ohlinzeka ngezindlela eziningi zokwenza ngcono ukusebenza ngemisebenzi ku-Python. Uma kuhlanganiswa negama elingukhiye elithi vars , lawa malabhulali angaholela ekhodini esebenza kahle futhi ehlelekile.
Ekuphetheni, igama elingukhiye le-Python elithi vars lisebenza njengethuluzi elinamandla lokusingatha izinombolo ezahlukahlukene zezimpikiswano zesikhundla kanye negama elingukhiye kumsebenzi ngokusebenzisa i- *args kanye ne- **kwargs . Ngokuqonda indlela esebenza ngayo kanye nezinhlelo zokusebenza, kanye nokusebenzisa imitapo yolwazi nemisebenzi ehlobene, umhleli wezinhlelo angenza ngcono inqubo yakhe yokufaka ikhodi futhi akhe izixazululo ezisebenzayo nezisebenzayo ezinkingeni eziningi ezahlukene.