Ֆունկցիաներ կանչելիս մենք սովորաբար դրանց փոխանցում ենք արժեքներ և ֆունկցիան աշխատում է՝ այդ արժեքներն ունենալով։ Արժեքները հնարավոր է փոխանցել և՛ որպես տեղային պարամետրեր, և՛ որպես keyword պարամետրեր։
Հետևելով երկրորդ օրինակին՝ մենք կարող ենք ֆունկցիաներին փոխանցել արժեքներ՝ այդ արգումենտներին անուններ տալով (val=1 կամ w=3)։
Սա շատ օգտակար է այն ֆունկցիաների դեպքում, որոնք ունեն բազմաթիվ արգումենտներ, և դրանցից շատերն արդեն ունեն default արժեքներ, իսկ մենք ցանկանում ենք փոխանցել վերջիններից մեկի արժեքը։ Այս դեպքում մենք կարող ենք փոխանցել այդ արժեքը որպես keyword արգումենտ՝ նշելով դրա անունը։ Սա մեզ օգնում է փոխանցել միայն այն արգումենտները, որոնք մեզ անհրաժեշտ են և բաց թողնել մնացած բոլորը։
Նշենք, որ keyword արգումենտները կարող են ունենալ պատահական հերթականություն։ Այսինքն, քանի դեռ մենք ճիշտ անուններ ենք նշում և դրանց համապատասխան արժեքներ փոխանցում, դրանց հերթականությունը կարող է լինել խառը և չհամընկնել ֆունկցիայում նշված հերթականության հետ։
Այստեղ շատ կարևոր է նշել, որ տեղային արգումենտները չեն կարող լինել keyword արգումենտներից հետո։ Դրանք պետք է լինեն ֆունկցիայի կանչի սկզբում և միայն դրանից հետո պետք է նշվեն keyword արգումենտները։ Կարո՞ղ եք ասել, թե ինչու է նման սահմանափակում կիրառվում 🤔:
Առաջադրանք
Ունենալով մի ֆունկցիա, որը տպում է բուժառուների (պացիենտների) մասին ինֆորմացիա, կանչեք այդ ֆունկցիան 3 անգամ` արգումենտների հետևյալ հերթականությամբ.
name, age, height
age, name, height
height, age, name
Ծրագրի ելքը կարող է լինել նույնը, բայց ֆունկցիան կանչելու համար դուք կարող եք օգտագործել և՛ տեղային, և՛ keyword արգումենտներ։