ជាទូទៅ នៅក្នុងភាសា Python វត្ថុដែលត្រូវបានបង្កើតឡើង ដូចនៅក្នុងកម្មវិធីចុងក្រោយនេះ នឹងត្រូវលុបចេញវិញជាបន្ទាន់ពីក្នុងសតិរបស់កំព្យូទ័រ គឺយើងមិនអាចយកវាទៅប្រើការធ្វើអ្វីផ្សេងទៀតបានឡើយ។ ដូចនេះ ដើម្បីកុំអោយវត្ថុដែលត្រូវបានបង្កើតឡើងហើយនោះ ត្រូវលុបចេញវិញ យើងត្រូវដាក់ឈ្មោះអោយវត្ថុនោះ ដោយធ្វើដូចខាងក្រោមនេះ៖
ឈ្មោះរបស់វត្ថុអាចជាពាក្យជាភាសាណាមួយក៏បានដែរ អោយតែឈ្មោះទាំងនោះ ត្រូវចាប់ផ្តើមដោយតួអក្សរមិនមែនជាលេខ។ ក៏ប៉ុន្តែ យើងអាចប្រើសញ្ញា _ ជាតួអក្សរទីមួយបាន។
ម៉្យាងទៀត ឈ្មោះរបស់វត្ថុមិនត្រូវមានអក្សរដកឃ្លា (space) នៅក្នុងនោះបានឡើយ ហើយឈ្មោះទាំងនោះត្រូវតែខុសពីពាក្យពិសេស (keyword) មួយចំនួននៅក្នុងភាសា Python ។ ពាក្យពិសេសទាំងនោះមានដូចខាងក្រោមនេះ៖
ចំពោះឈ្មោះរបស់វត្ថុដែលជាអក្សរឡាតាំង ឈ្មោះជាអក្សរធំខុសពីឈ្មោះជាអក្សរតូច ដូចជា NUMBER, Number, number គឺជាឈ្មោះខុសៗគ្នា។ មួយវិញទៀត ឈ្មោះរបស់វត្ថុគួរតែជាពាក្យមានន័យអ្វីម៉្យាង ដែលស្តែងចេញពីតួនាទីរបស់វត្ថុនោះ។
នៅក្នុងកម្មវិធីខាងលើ ក្រោយពីឈ្មោះ sale ត្រូវបានភ្ជាប់ទៅនឹងវត្ថុលេខ 1000 រួចមក វត្ថុនេះអាចនៅស្ថិតស្ថេរនៅក្នុងសតិរបស់កំព្យូទ័ររហូតដល់ចប់កម្មវិធី។ ក៏ប៉ុន្តែ យើងនៅតែមិនអាចមើលឃើញវត្ថុលេខ 1000 នោះដែរ គឺវាមានតែនៅក្នុងសតិរបស់កំព្យូទ័រប៉ុណ្ណោះ។ បើសិនជាយើងចង់មើលវត្ថុនោះ យើងត្រូវធ្វើដូចខាងក្រោមនេះ៖
យើងឃើញថា ការដាក់ឈ្មោះអោយវត្ថុ គឺជាប្រការដែលធ្វើអោយវត្ថុអាចស្ថិតនៅក្នុងសតិរបស់កំព្យូទ័រ រហូតដល់ចប់កម្មវិធី ហើយវាក៏ជាប្រការដែលធ្វើអោយយើងអាចយកវត្ថុនោះ ទៅប្រើការធ្វើអ្វីផ្សេងៗទៀតបានដែរ។ លើសពីនេះទៀត ក្រៅពីការដាក់ឈ្មោះតែមួយ អោយទៅវត្ថុណាមួយ យើងក៏អាចដាក់ឈ្មោះជាច្រើនអោយទៅវត្ថុនោះផងដែរ ដោយធ្វើដូចខាងក្រោមនេះ៖
ឈ្មោះរបស់វត្ថុមានតួនាទីសំខាន់ណាស់ សំរាប់សំគាល់ទីតាំងរបស់វត្ថុនៅក្នុងសតិរបស់កំព្យូទ័រ ហើយបើគ្មានឈ្មោះនេះទេ យើងនឹងគ្មានមធ្យោបាយណាមួយ អាចយកវត្ថុទៅប្រើប្រាស់នៅទីកន្លែងផ្សេងៗទៀតបានឡើយ។ ក៏ប៉ុន្តែផ្ទុយទៅវិញ យើងអាចដកយកឈ្មោះរបស់វត្ថុណាមួយ ទៅភ្ជាប់នឹងវត្ថុមួយផ្សេងទៀតបាន ដោយធ្វើដូចខាងក្រោមនេះ៖
sale = 2000 គឺជាបញ្ជាតំរូវអោយយកឈ្មោះ sale ដែលជាឈ្មោះរបស់លេខ 1000 រួចទៅហើយនោះ ទៅភ្ជាប់នឹងវត្ថុលេខ 2000 វិញម្តង។ ជាលទ្ធផល វត្ថុលេខ 1000 ត្រូវបាត់ឈ្មោះ និងត្រូវលុបចេញពីក្នុងសតិរប់សកំព្យូទ័រ ដោយស្វ័យប្រវត្តិ។ ការលុបវត្ថុតាមរបៀបនេះ គឺជាយន្តការបោសសំអាត (garbage collection) ដែលតែងតែកើតមានឡើង នៅពេលដែលវត្ថុត្រូវបាត់ឈ្មោះ។
មួយវិញទៀត យើងត្រូវធ្វើការកត់សំគាល់ផងដែរថា វត្ថុមួយត្រូវលុបចេញពីសតិរបស់កំព្យូទ័រ តែក្នុងករណីដែលវត្ថុនោះបាត់ឈ្មោះអស់តែប៉ុណ្ណោះ តែបើវត្ថុនោះមានឈ្មោះលើសពីមួយ ការយកឈ្មោះណាមួយទៅភ្ជាប់នឹងវត្ថុផ្សេងទៀត នឹងមិនបណ្តាលអោយវត្ថុនោះ ត្រូវលុបចេញពីសតិរបស់កំព្យូទ័រឡើយ ព្រោះនៅមានឈ្មោះជាច្រើនទៀត នៅជា់ប់នឹងវត្ថុនោះ។ ពិនិត្យកម្មវិធីខាងក្រោមនេះ៖
sale = 2000 គឺជាបញ្ជាតំរូវអោយយកឈ្មោះ sale ដែលជាឈ្មោះរបស់លេខ 1000 ទៅភ្ជាប់នឹងវត្ថុលេខ 2000 វិញម្តង។ ប្រការនេះមិនបានធ្វើអោយវត្ថុលេខ 1000 ត្រូវលុបចេញពីក្នុងសតិរបស់កំព្យូទ័រឡើយ ព្រោះនៅមានឈ្មោះ total មួយទៀតនៅជា់បនឹងវត្ថុនោះ៕
sale = 1000យើងត្រូវធ្វើការកត់សំគាល់ថា សញ្ញាស្មើ (=) នៅក្នុងភាសា Python គឺជាសញ្ញាប្រើសំរាប់ ភ្ជាប់ (bind) ឈ្មោះ (identifier) ទៅនឹងវត្ថុ គឺមិនមែនជាសញ្ញាប្រើសំរាប់បញ្ជាក់លទ្ធផលបានមកពីការធ្វើប្រមាណវិធីឡើយ។
ម៉្យាងទៀត ឈ្មោះរបស់វត្ថុមិនត្រូវមានអក្សរដកឃ្លា (space) នៅក្នុងនោះបានឡើយ ហើយឈ្មោះទាំងនោះត្រូវតែខុសពីពាក្យពិសេស (keyword) មួយចំនួននៅក្នុងភាសា Python ។ ពាក្យពិសេសទាំងនោះមានដូចខាងក្រោមនេះ៖
នៅក្នុងកម្មវិធីខាងលើ ក្រោយពីឈ្មោះ sale ត្រូវបានភ្ជាប់ទៅនឹងវត្ថុលេខ 1000 រួចមក វត្ថុនេះអាចនៅស្ថិតស្ថេរនៅក្នុងសតិរបស់កំព្យូទ័ររហូតដល់ចប់កម្មវិធី។ ក៏ប៉ុន្តែ យើងនៅតែមិនអាចមើលឃើញវត្ថុលេខ 1000 នោះដែរ គឺវាមានតែនៅក្នុងសតិរបស់កំព្យូទ័រប៉ុណ្ណោះ។ បើសិនជាយើងចង់មើលវត្ថុនោះ យើងត្រូវធ្វើដូចខាងក្រោមនេះ៖
sale = 1000 print(sale)
1000
យើងឃើញថា ការដាក់ឈ្មោះអោយវត្ថុ គឺជាប្រការដែលធ្វើអោយវត្ថុអាចស្ថិតនៅក្នុងសតិរបស់កំព្យូទ័រ រហូតដល់ចប់កម្មវិធី ហើយវាក៏ជាប្រការដែលធ្វើអោយយើងអាចយកវត្ថុនោះ ទៅប្រើការធ្វើអ្វីផ្សេងៗទៀតបានដែរ។ លើសពីនេះទៀត ក្រៅពីការដាក់ឈ្មោះតែមួយ អោយទៅវត្ថុណាមួយ យើងក៏អាចដាក់ឈ្មោះជាច្រើនអោយទៅវត្ថុនោះផងដែរ ដោយធ្វើដូចខាងក្រោមនេះ៖
sale = 1000 total = sale print(sale) print(total)
1000
1000
1000
ឈ្មោះរបស់វត្ថុមានតួនាទីសំខាន់ណាស់ សំរាប់សំគាល់ទីតាំងរបស់វត្ថុនៅក្នុងសតិរបស់កំព្យូទ័រ ហើយបើគ្មានឈ្មោះនេះទេ យើងនឹងគ្មានមធ្យោបាយណាមួយ អាចយកវត្ថុទៅប្រើប្រាស់នៅទីកន្លែងផ្សេងៗទៀតបានឡើយ។ ក៏ប៉ុន្តែផ្ទុយទៅវិញ យើងអាចដកយកឈ្មោះរបស់វត្ថុណាមួយ ទៅភ្ជាប់នឹងវត្ថុមួយផ្សេងទៀតបាន ដោយធ្វើដូចខាងក្រោមនេះ៖
sale = 1000 sale = 2000 print(sale)
2000
sale = 2000 គឺជាបញ្ជាតំរូវអោយយកឈ្មោះ sale ដែលជាឈ្មោះរបស់លេខ 1000 រួចទៅហើយនោះ ទៅភ្ជាប់នឹងវត្ថុលេខ 2000 វិញម្តង។ ជាលទ្ធផល វត្ថុលេខ 1000 ត្រូវបាត់ឈ្មោះ និងត្រូវលុបចេញពីក្នុងសតិរប់សកំព្យូទ័រ ដោយស្វ័យប្រវត្តិ។ ការលុបវត្ថុតាមរបៀបនេះ គឺជាយន្តការបោសសំអាត (garbage collection) ដែលតែងតែកើតមានឡើង នៅពេលដែលវត្ថុត្រូវបាត់ឈ្មោះ។
មួយវិញទៀត យើងត្រូវធ្វើការកត់សំគាល់ផងដែរថា វត្ថុមួយត្រូវលុបចេញពីសតិរបស់កំព្យូទ័រ តែក្នុងករណីដែលវត្ថុនោះបាត់ឈ្មោះអស់តែប៉ុណ្ណោះ តែបើវត្ថុនោះមានឈ្មោះលើសពីមួយ ការយកឈ្មោះណាមួយទៅភ្ជាប់នឹងវត្ថុផ្សេងទៀត នឹងមិនបណ្តាលអោយវត្ថុនោះ ត្រូវលុបចេញពីសតិរបស់កំព្យូទ័រឡើយ ព្រោះនៅមានឈ្មោះជាច្រើនទៀត នៅជា់ប់នឹងវត្ថុនោះ។ ពិនិត្យកម្មវិធីខាងក្រោមនេះ៖
sale = 1000 total = sale sale = 2000 print(sale) print(total)
2000
1000
1000
sale = 2000 គឺជាបញ្ជាតំរូវអោយយកឈ្មោះ sale ដែលជាឈ្មោះរបស់លេខ 1000 ទៅភ្ជាប់នឹងវត្ថុលេខ 2000 វិញម្តង។ ប្រការនេះមិនបានធ្វើអោយវត្ថុលេខ 1000 ត្រូវលុបចេញពីក្នុងសតិរបស់កំព្យូទ័រឡើយ ព្រោះនៅមានឈ្មោះ total មួយទៀតនៅជា់បនឹងវត្ថុនោះ៕
















