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 ៕