Параметрҳои номдор дар Python
Агар ба функсия бисёр параметрҳо интиқол дода шавад, пас шанси анҷом додани хато зиёд мешавад, зеро метавон арзишҳоро барои параметрҳои зарурӣ иваз кард.
Барои пешгирӣ аз чунин мушкилот дар Python имконияти таъйини номи параметрҳо ҳангоми фарохонӣ кардани функсия мавҷуд аст. Биёед бубинем, ки ин чӣ гуна анҷом дода мешавад. Фарз мекунем, ки мо функсияи зеринро дорем:
def func(num1, num2):
return num1 + num2
Метавонед онро оддӣ фаро бихонед:
res = func(5, 10)
print(res) # 15-ро ба намоиш мегузорад
Ё метавонед параметрҳоро бо ном фаро бихонед:
res = func(num1=5, num2=10)
print(res) # 15-ро ба намоиш мегузорад
Параметрҳои номдор ба он далел хеле қулай ҳастанд, ки ҳангоми фарохонӣ кардани функсия метавон онҳоро иваз кард:
res = func(num2=2, num1=5)
print(res) # 3-ро ба намоиш мегузорад
Агар ҳангоми эълон кардани функсия чанд параметри ихтиёрӣ таъйин карда шуда бошад, пас онҳоро инчунин метавон номдор кард. Дар ин ҳол лозим нест параметрҳоро ба тартибе, ки онҳоро ҳангоми эълон таъйин карда будед, гузошт:
def func(num1, num2=1, num3=2):
return num1 + num2 + num3
res = func(num1=2, num3=6)
print(res) # 8-ро ба намоиш мегузорад
Функсия дода шудааст:
def func1(num1, num2, num3):
return (num1 + num2) * num3
Онро фаро бихонед, арзишҳоро тавассути параметрҳои номдор интиқол диҳед.
Функсия дода шудааст:
def func1(text1, text2):
return text1 + ' ' + text2
Онро фаро бихонед, сатри 'hello'
ва номи худро тавассути параметрҳои номдор интиқол диҳед.