Packing Argument

packing argument គឺ​ជា​ការប្រមូល​ផ្តុំ argument មាន​ចំនួន​មិន​កំណត់ មក​បង្កើត​ជា​វត្ថុ​មាន​ប្រភេទ​ជា container មួយ​ទុក​នៅ​ក្នុង function ណា​មួយ​ ដោយ​ប្រើប្រាស់​សញ្ញា​ផ្កាយ​មួយ (*) ។

យើង​អាច​ប្រមូល​ផ្តុំ​ positional argument មាន​ចំនួន​មិន​កំណត់​មក​បង្កើត​ជា​កំរង tuple មួយ​ទុក​នៅ​ក្នុង function ណាមួយ ដោយ​ធ្វើ​ដូច​ខាងក្រោម​នេះ៖

def pack_argument(*args):
    print(args)

pack_argument(1000, 900)
(1000, 900)

ដូច​គ្នា​ដែរ យើង​អាច​ប្រមូល​ផ្តុំ keyword argument មាន​ចំនូន​មិន​កំណត់ មក​បង្កើត​ជា​កំរង dictionary មួយ​ទុក​នៅ​ក្នុង function ណា​មួយ ដោយ​ប្រើប្រាស់​សញ្ញា​ផ្កាយ​ពីរ (**) ។

def pack_argument(**kargs):
    print(kargs)

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

សរុប​មក យើង​សង្កេត​ឃើញ​ថា ការបំបែក​ argument និង​ការប្រមូលផ្តុំ argument សុទ្ធតែ​ត្រូវ​ប្រើ​សញ្ញា​ផ្កាយ​មួយ​ឬ​ពីរ​នៅ​ខា​មុខ argument ឬ parameter ណា​មួយ​ដូច​គ្នា​។ ក៏ប៉ុន្តែ ប្រការ​ដែល​ខុស​គ្នា​នោះ គឹ​នៅ​ត្រង់​ថា ចំពោះ​ការបំបែក argument យើង​ត្រូវ​ប្រើ​សញ្ញា​ផ្កាយ​នៅ​ខាង​មុខ​ argument នៅ​ពេល​ដែល​ function ត្រូវ​បាន​ call តែ​ចំពោះ​ការប្រមូល​ផ្តុំ​ argument វិញ យើង​ត្រូវ​ប្រើ​សញ្ញា​ផ្កាយ​នៅ​ខាង​មុខ parameter នៅ​ពេល​បង្កើត function ៕