Бисёр параметрҳоро ба функсия дар Python гузарондан
Фарз мекунем, ки мо функсияе дорем, ки чанд параметри ададиро қабул мекунад:
def func(num1, num2):
return num1 + num2
print(func1(2, 3))
Ҳангоми фарохонӣ кардани функсия, ададҳои додашудаи 2
ва 3 ба тағирёбандаҳои num1
ва num2 мувофиқан меафтанд.
Аммо ҳолатҳое ҳастанд, ки ҳангоми фарохонӣ кардани функсия
бисёр параметрҳо гузаронида шаванд, ки миқдори онҳо пешакӣ номаълум аст.
Дар Python ҳангоми эълон кардани функсия танҳо як тағирёбандаро муайян кардан мумкин аст,
ки баъдтар аз он кортежи ҳамаи параметрҳои гузарондашуда ҳангоми фарохонӣ ба даст меояд.
Барои ин, пеш аз ин тағирёбанда аломати *ро нишон диҳед.
Чунин тағирёбандаро одатан args меноманд,
аммо метавон ба он ҳар номи дигар низ дод.
Ва барои ба даст овардани ҳамаи параметрҳо,
дар бадани функсия ин тағирёбандаро нависед, аммо алҳол бе
*:
def func(*args):
return args
print(func(1, 2, 3)) # (1, 2, 3)-ро чоп мекунад
Баъд аз он, бо параметрҳои ба даст омада метавон ҳар гуна амалиёти дигарро анҷом дод. Биёед ҷамъи онҳоро ба даст орем:
def func(*args):
return sum(args)
print(func(1, 2, 3)) # 6-ро чоп мекунад
Функсияе нависед, ки ҳамчун параметрҳо миқдори номҳои корбарони номаҳдудро қабул кунад ва онҳоро дар консоль ба сурати кортеж чоп кунад.