packing argument គឺជាការប្រមូលផ្តុំ argument មានចំនួនមិនកំណត់ មកបង្កើតជាវត្ថុមានប្រភេទជា container មួយទុកនៅក្នុង function ណាមួយ ដោយប្រើប្រាស់សញ្ញាផ្កាយមួយ (*) ។
យើងអាចប្រមូលផ្តុំ positional argument មានចំនួនមិនកំណត់មកបង្កើតជាកំរង tuple មួយទុកនៅក្នុង function ណាមួយ ដោយធ្វើដូចខាងក្រោមនេះ៖
1 2 3 4 | def pack_argument( * args): print (args) pack_argument( 1000 , 900 ) |
1 | (1000, 900) |
ដូចគ្នាដែរ យើងអាចប្រមូលផ្តុំ keyword argument មានចំនូនមិនកំណត់ មកបង្កើតជាកំរង dictionary មួយទុកនៅក្នុង function ណាមួយ ដោយប្រើប្រាស់សញ្ញាផ្កាយពីរ (**) ។
1 2 3 4 | def pack_argument( * * kargs): print (kargs) pack_argument(sale = 1000 , buy = 900 ) |
1 | {'sale': 1000, 'buy': 900} |
សរុបមក យើងសង្កេតឃើញថា ការបំបែក argument និងការប្រមូលផ្តុំ argument សុទ្ធតែត្រូវប្រើសញ្ញាផ្កាយមួយឬពីរនៅខាមុខ argument ឬ parameter ណាមួយដូចគ្នា។ ក៏ប៉ុន្តែ ប្រការដែលខុសគ្នានោះ គឹនៅត្រង់ថា ចំពោះការបំបែក argument យើងត្រូវប្រើសញ្ញាផ្កាយនៅខាងមុខ argument នៅពេលដែល function ត្រូវបាន call តែចំពោះការប្រមូលផ្តុំ argument វិញ យើងត្រូវប្រើសញ្ញាផ្កាយនៅខាងមុខ parameter នៅពេលបង្កើត function ៕