Place of Parameter & Argument

នៅ​ក្នុង​ភាសា Python យើង​អាច​បង្កើត​ function មួយ ដែល​នៅ​ក្នុង​នោះ​អាច​មាន parameter ធម្មតា parameter មាន​ផ្កាយ​មួយ និង parameter មាន​ផ្កាយ​ពីរ ដោយ​ធ្វើ​ដូច​ខាង​ក្រោម​នេះ៖

def pack_argument(arg, *args, **kargs):
    print(arg)
    print(args)
    print(kargs)

pack_argument(100, 1000, 900, sale=1000, buy=900)
100
(1000, 900)
{'sale': 1000, 'buy': 900}

អាស្រ័យ​ទៅ​តាម​ក្បួន​ច្បាប់​នៅ​ក្នុង​ភាសា Python នៅ​ពេល​បង្កើត​ function, parameter ធម្មតា​ត្រូវ​នៅ​មុខ​ parameter មាន​ផ្កាយ​មួយ ដែល​ខ្លួន​វា​ផ្ទាល់​ត្រូវ​នៅ​មុខ parameter មាន​ផ្កាយ​ពីរ​។

យ៉ាងណាម៉ិញ នៅ​ក្នុង​ការផ្តល់​ argument អោយ​ទៅ function, argument ធម្មតាដែល​ជា​ positional argument ត្រូវ​នៅ​មុខ keyword argument ។

ស្រដៀង​គ្នា​ដែរ នៅ​ពេល call function យើង​ត្រូវ​ផ្តល់ positinal argument នៅ​មុខ argument បាន​មក​ដោយ​ការបំបែក​កំរង tuple ដែល​ត្រូវ​នៅ​មុខ keyword argument បាន​មក​ដោយ​ការបំបែក​កំរង list ៕

money_list = [2000, 1500]
money_dict = {'sale':1000, 'buy':900}

def cash(total, remain, spending, sale=0, buy=0):
    print(total)
    print(remain)
    print(spending)
    print(sale)
    print(buy)

cash(10000, *money_list, **money_dict)
10000
2000
1500
1000
900