unpacking argument គឹ​ជា​ការចំលង​យក​វត្ថុ​ដែល​ជា​ container ផ្សេង​ៗ មក​បំបែក​ជា argument សំរាប់​ផ្តល់​អោយ​ទៅ function ។ ទង្វើនេះ​ត្រូវ​ធ្វើ​ឡើង​ នៅ​ពេល call function ​។

 

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

 

money_list = [1000, 900]
def get_profit(sale=0, buy=0):
    profit = sale - buy
    print('The total profit is', profit)
 
get_profit(*money_list)

 

ដូចនេះ យើង​ឃើញ​ថា ដើម្បី​ចំលង​យក​កំរង​ណាមួយ​មកបំបែក​ជា​ដំណឹង​ផ្តល់​អោយ​ទៅ function ណាមួយ យើង​ត្រូវ​ប្រើ​សញ្ញា (*) នៅ​ខាង​មុខ​កំរង​នោះ​។

 

ក្រៅ​ពី​កំរង tuple យើង​ក៏​អាច​ចំលង​យក​សំណុំ dictionary ណា​មួយ​មក​បំបែក​ជា keyword argument សំរាប់​ផ្តល់​អោយ​ទៅ function ណាមួយ​បាន​ដែរ​។ ពិនិត្យ​កម្មវិធី​ខាង​ក្រោម​នេះ៖

 

money_dict = {'sale':1000, 'buy':900}
def get_profit(sale=0, buy=0):
    profit = sale - buy
    print('The total profit is', profit)
 
get_profit(**money_dict)

 

ជាលទ្ធផល យើង​សង្កេត​ឃើញ​ថា ដើម្បី​ចំលង​យក​សំណុំ dictionary ណា​មួយ មក​បំបែក​ជា keyword argument សំរាប់​ផ្តល់​អោយ​ទៅ function ណា​មួយ យើង​ចាំបាច់​ត្រូវ​ប្រើ​សញ្ញា​ផ្កាយ​ពីរ (**) នៅ​ខាង​មុខ​សំណុំ dictionary នោះ​។ យ៉ាងណាម៉ិញ key នៅ​ក្នុង​សំណុំ dictionary ត្រូវ​តែ​ដូច​គ្នា​បេះបិទ​ទៅ​នឹង paremeter នៅ​ក្នុង function ៕