da suna ba da damar ga aiki don karbar adadi na muhimman abubuwa. tana tara ƙarin abubuwa a cikin tuple; tana tara ƙarin abubuwa a cikin dict. (Sunan sun kasance al'ada — da ne ke da mahimmanci.)
da suna ba da damar ga aiki don karbar adadi na muhimman abubuwa. tana tara ƙarin abubuwa a cikin tuple; tana tara ƙarin abubuwa a cikin dict. (Sunan sun kasance al'ada — da ne ke da mahimmanci.)
*args**kwargs*args**kwargs***def total(*args): # collects all positional args into a tuple
print(args) # e.g. (1, 2, 3)
return sum(args)
total(1, 2, 3) # 6
total(1, 2, 3, 4, 5) # 15 — any number of args
def configure(**kwargs): # collects keyword args into a dict
print(kwargs) # e.g. {"host": "localhost", "port": 8080}
for key, value in kwargs.items():
print(f"{key} = {value}")
configure(host="localhost", port=8080, debug=True)
def func(a, b, *args, **kwargs):
# a, b → required positional
# args → extra positional (tuple)
# kwargs → extra keyword (dict)
...
func(1, 2, 3, 4, x=5, y=6)
# a=1, b=2, args=(3, 4), kwargs={"x": 5, "y": 6}
Tsarin da ya dace shine: regular abubuwa, sannan *args, sannan **kwargs.
# `*` and `**` also UNPACK collections INTO arguments at the call site
numbers = [1, 2, 3]
total(*numbers) # same as total(1, 2, 3)
settings = {"host": "x", "port": 80}
configure(**settings) # same as configure(host="x", port=80)
Hada-hadun gida ɗin buɗe jiya/dict a cikin matsayi/kalma-makaranta abubuwa — da fa'ida don tura abubuwa gari.
def wrapper(*args, **kwargs):
# accept ANY arguments and pass them through unchanged
return original_func(*args, **kwargs)
Wannan tsarin wucewa-wucewa shine yadda maɓugaji da ayyuka ɓayyuka suke jiyya kowane tsarin aiki.
*args/**kwargs suna ba da damar kwatancewa aiki jiya da suka karba kome adadi na abubuwa — mahimmanci don rubuta abubuwan amfani gida, ɓayyuka, da musamman maɓugaji (waɗanda dole ne su rurke abubuwan aiki da ba a sani tsarinsu waje jiya *args, **kwargs).
Ne ɗin buɗewa jiya (*list, **dict) daidai da mahimmanci don tura ko yawaita abubuwa.
Tunanin duka tara da buɗewa shine mahimmanci ga rubuta Python abubuwan amfani, gida, da karantawa da yawa gida API da maɓugaji da suka dogara akan waɗannan abubuwan.