Параметрҳои номдор дар Python

Агар ба функсия бисёр параметрҳо интиқол дода шавад, пас шанси анҷом додани хато зиёд мешавад, зеро метавон арзишҳоро барои параметрҳои зарурӣ иваз кард.

Барои пешгирӣ аз чунин мушкилот дар Python имконияти таъйини номи параметрҳо ҳангоми фарохонӣ кардани функсия мавҷуд аст. Биёед бубинем, ки ин чӣ гуна анҷом дода мешавад. Фарз мекунем, ки мо функсияи зеринро дорем:

pythondef func(num1, num2):
  return num1 + num2

Метавонед онро оддӣ фаро бихонед:

pythonres = func(5, 10)
print(res) # 15-ро ба намоиш мегузорад

Ё метавонед параметрҳоро бо ном фаро бихонед:

pythonres = func(num1=5, num2=10)
print(res) # 15-ро ба намоиш мегузорад

Параметрҳои номдор ба он далел хеле қулай ҳастанд, ки ҳангоми фарохонӣ кардани функсия метавон онҳоро иваз кард:

pythonres = func(num2=2, num1=5)
print(res) # 3-ро ба намоиш мегузорад

Агар ҳангоми эълон кардани функсия чанд параметри ихтиёрӣ таъйин карда шуда бошад, пас онҳоро инчунин метавон номдор кард. Дар ин ҳол лозим нест параметрҳоро ба тартибе, ки онҳоро ҳангоми эълон таъйин карда будед, гузошт:

pythondef func(num1, num2=1, num3=2):
  return num1 + num2 + num3
  
res = func(num1=2, num3=6)
print(res) # 8-ро ба намоиш мегузорад
Задание 1

Функсия дода шудааст:

pythondef func1(num1, num2, num3):
  return (num1 + num2) * num3

Онро фаро бихонед, арзишҳоро тавассути параметрҳои номдор интиқол диҳед.

Задание 2

Функсия дода шудааст:

pythondef func1(text1, text2):
  return text1 + ' ' + text2

Онро фаро бихонед, сатри 'hello' ва номи худро тавассути параметрҳои номдор интиқол диҳед.