បើ​យើង​លើក​យក​បញ្ហា​ដោះស្រាយ​​រក​ក្រឡាផ្ទៃ​ចតុកោណ​​មក​វិភាគ​មើល​ម្តង​ទៀត យើង​ឃើញ​ថា ដើម្បី​រក​ក្រឡាផ្ទៃ​ចតុកោណ យើង​ត្រូវ​មាន​ព័ត៌មាន​ពីរ​គឺ width និង​ height (បណ្តោយ & ទទឹង) ពីព្រោះ​ ក្រឡាផ្ទៃ គឺ​ជា​ផល​​គុន​​រវាង​ width និង height ។ នៅ​ក្នុង​ការសរសេរ​កម្មវិធី ព័ត៌មាន​ចាំបាច់​សម្រាប់​យក​មក​ដោះស្រាយ​បញ្ហា​ទាំងនោះ​​ត្រូវ​ហៅ​ថា ទិន្នន័យ (data) ។ ដូចនេះ​ការដោះស្រាយ​បញ្ហា​រក​ក្រឡាផ្ទៃ​ចតុកោណកន្លង​មក គឺ​ជា​ការយក​ទិន្នន័យ​ដែល​ជា width និង​​ទិន្នន័យ​ដែល​ជា​ height មក​ធ្វើ​ប្រមាណវិធី​គុន​។

 

នៅ​ក្នុង​ភាសា Python ដើម្បី​ឲ្យ​មាន​ទិន្នន័យ​ចាំបាច់​ទាំងនោះ យើង​ចាំបាច់​ត្រូវ​តែ​​សរសេរ​ប្រាប់​កំព្យូទ័រ​និងឬ​ទូរស័ព្ទ​ដៃ អោយ​បង្កើត​ទិន្នន័យ​ទាំងនោះ​ទុក​នៅ​ក្នុង​ សតិ (memory) របស់​វា​ផ្ទាល់​តែម្តង​។ ហើយ​ការសរសេរ​កម្មវិធី​បង្កើត​ទិន្នន័យ​ផ្សេង​ៗ​ នៅ​ក្នុង​ភាសា Python ​ត្រូវ​ធ្វើ​ឡើង​ដូច​ខាង​ក្រោម​នេះ​៖ 

 

3.14

 

ខាង​លើ​នេះ គឺ​ជា​កម្មវិធី​ជា​ភាសា Python ​ជា​​អប្បបរិមា ដែល​នៅ​ក្នុង​នោះ​មាន​បញ្ជា​តម្រូវ​ឲ្យ​បង្កើត​ទិន្នន័យ​ ដែល​ជា​លេខ 3.14 មួយ​ទុក​នៅ​ក្នុង​សតិ​របស់​ឧបករណ៍​អេឡិចត្រូនិក​។

 

នៅ​ក្នុង​ភាសា Python ផ្នែក​នៃ​សតិ​របស់​កំព្យូទ័រ​និងឬ​ទូរស័ព្ទ​ដៃ ដែល​មាន​ព័ត៌មាន​នៅ​ក្នុង​នោះ ត្រូវ​ហៅ​ថា វត្ថុ (object) ។ ដូចនេះ​ការសរសេរ​លេខ 3.14 នៅ​ក្នុង​កម្មវិធី​ខាង​លើ គឺ​ជា​ការបង្កើត​វត្ថុមួយ​​ដែល​ជា​ផ្នែក​តូច​មួយ​នៃ​សតិ​របស់​កំព្យូទ័រ​​​និងឬ​ទូរស័ព្ទ​ដៃ​ដើម្បី​រក្សាទុកនូវ​ទិន្នន័យ​មួយ​ដែល​ជា​លេខ 3.14 ។ ជាទូទៅ​ យើង​អាច​ប្រៀប​ប្រដូច​វត្ថុទៅ​នឹង​ប្រអប់​មួយ​ដែល​មាន​ទិន្នន័យ​នៅ​ក្នុង​នោះ​។ 

 

ក៏ប៉ុន្តែ វត្ថុ​​​ដែល​ត្រូវ​បាន​បង្កើត​ឡើង​ដូច​នៅ​ក្នុង​កម្មវិធី​ខាង​លើ​នេះ ត្រូវ​បាន​លុប​ចេញ​ទៅ​វិញ​ជា​បន្ទាន់​ពី​ក្នុង​សតិ​របស់​ឧបករណ៍​អេឡិចត្រូនិក គឺ​យើង​មិន​អាច​យក​វា​ទៅ​ប្រើការ​ធ្វើ​អ្វី​ផ្សេង​ទៀត​បាន​ឡើយ​។ ហើយ​ដើម្បី​កុំ​ឲ្យ​វត្ថុ​ដែល​ត្រូវ​បាន​បង្កើត​រួច​ហើយ​នោះ ត្រូវ​លុប​ចេញ​ទៅ​វិញ យើង​ត្រូវ​ដាក់​ឈ្មោះ​ឲ្យ​វា ដោយ​ត្រូវ​ធ្វើ​ដូច​ខាង​ក្រោម​នេះ​៖ 

 

PI = 3.14

 

យើង​ក៏​ត្រូវ​ធ្វើ​ការកត់សម្គាល់​ផង​ដែរ​ថា សញ្ញា​ស្មើ (=) នៅ​ក្នុង​ភាសា​ Python គឺ​ជា​សញ្ញា​ប្រើ​សម្រាប់​ ភ្ជាប់ (bind) ឈ្មោះ (identifier) ទៅ​នឹង​វត្ថុ គឺ​មិនមែន​ជា​សញ្ញា​ប្រើ​សម្រាប់​បញ្ជាក់​លទ្ធផល បាន​មកពី​ការធ្វើ​ប្រមាណ​វិធី​ឡើយ​។

 

ឈ្មោះ​​​របស់​វត្ថុ​​​អាច​ជា​​ពាក្យ​ជា​ភាសា​ណា​​ក៏​បាន​ដែរ ឲ្យ​តែ​ឈ្មោះ​ទាំងនោះ ត្រូវ​ចាប់​ផ្តើម​ដោយ​តួ​អក្សរ មិនមែន​ជា​លេខ​។ ក៏​ប៉ុន្តែ​យើង​អាច​ប្រើ​សញ្ញា _ ជា​តួ​អក្សរ​ទី​មួយ​បាន​។ ម៉្យាង​ទៀត ឈ្មោះ​របស់​វត្ថុ​មិន​ត្រូវ​មាន​អក្សរ​ដក​ឃ្លា (space) នៅ​ក្នុង​នោះ​ឡើយ ហើយ​ឈ្មោះ​ទាំងនោះ​ ត្រូវ​តែ​ខុស​ពី​ ពាក្យ​ពិសេស (keyword) មួយ​ចំនួន ដែល​មាន​នៅ​ក្នុង​ភាសា Python មាន​ដូច​ខាងក្រោម​នេះ៖

 

False, await, else, import, pass, None, break, except, in, raise, True, class, finally, is, return, and, continue, for, lambda, try, as, def, from, nonlocal, while, assert, del, global, not, with, async, elif, if, or, yield

 

ចំពោះ​ឈ្មោះ​របស់​វត្ថុ​ ដែល​ជា​អក្សរ​ឡាតាំង ឈ្មោះ​ជា​អក្សរ​ធំ​ខុស​ពី​ឈ្មោះ​ជា​អក្សរ​តូច ដូចជា NUMBER, Number, number គឺ​ជា​ឈ្មោះ​ខុស​ៗ​គ្នា​។ ឈ្មោះ​របស់​វត្ថុ​គួរ​តែ​ជា​ពាក្យ​មាន​ន័យ​អ្វី​ម៉្យាង ដែល​ស្តែង​ចេញ​ពី​តួនាទី​របស់​វត្ថុ​នោះ​។

 

តាម​ការសង្កេត​ជាក់ស្តែង ការភ្ជាប់​ឈ្មោះ​ណា​មួយ​ទៅ​នឹង​វត្ថុ​ណាមួយ ស្រដៀង​នឹង​ការតាង​អញ្ញត​នៅ​ក្នុង​គណិតវិទ្យា​ដែរ​។ មួយវិញទៀត ក្រោយ​ពី​វត្ថុ​​​​មួយ​មាន​ឈ្មោះ​រួច​ហើយ តាម​រយៈ​ឈ្មោះ​នេះ យើង​អាច​យក​វត្ថុ​ទៅ​ប្រើ​នៅ​ទីណា​ក៏​បាន​ដែរ។

 

នៅ​ក្នុង​កម្មវិធី​ខាង​លើ​នេះ ក្រោយ​ពី​ឈ្មោះ PI ត្រូវ​បាន​ភ្ជាប់​ទៅ​នឹង​វត្ថុ​​​ដែល​​​ជា​លេខ 3.14 រួច​មក វត្ថុ​នោះ​អាច​ស្ថិត​នៅ​ក្នុង​សតិ​របស់​ឧបករណ៍​អេឡិចត្រូនិក រហូត​ដល់​ចប់​កម្មវិធី​។ ក៏ប៉ុន្តែ​ទោះ​ជា​យ៉ាង​ណា​ក៏​ដោយ ក៏​យើង​នៅ​តែ​មិន​អាច​មើល​ឃើញ​វត្ថុ​លេខ 3.14​ ​នោះ​ដែរ គឺ​វា​មាន​តែ​នៅ​ក្នុង​សតិ​របស់​ឧបករណ៍​អេឡិចត្រូនិក​​តែ​ប៉ុណ្ណោះ​។ ហើយ​បើ​យើង​ចង់​មើល​ឃើញ​តំលៃ​​​លេខ​នោះ យើងត្រូវ​តែ​ធ្វើដូច​ខាងក្រោម​នេះ​៖

 

PI = 3.14
print(PI)

 

យើង​ឃើញ​ថា​ការភ្ជាប់​​ឈ្មោះ​ទៅ​នឹង​​វត្ថុ​ណាមួួ គឺ​ជា​ប្រការ​ដែល​ធ្វើ​ឲ្យ​វត្ថុ​នោះ​​អាច​ស្ថិត​នៅ​ក្នុង​សតិ​របស់​ឧបករណ៍​អេឡិចត្រូនិក រហូត​ដល់​ចប់​កម្មវិធី ហើយ​វា​ក៏​ជា​ប្រការ​ដែល​ធ្វើ​ឲ្យ​យើង​អាច​យក​វត្ថុ​នោះ​ទៅ​ប្រើការ​ធ្វើ​អ្វី​ផ្សេង​ៗ​ទៀត​បាន​​ដែរ​។ ក៏ប៉ុន្តែ លើស​ពី​នេះ​ទៀត ក្រៅ​ពី​ការភ្ជាប់​​ឈ្មោះ​តែ​មួយ​ ឲ្យ​ទៅ​វត្ថុ​​ណា​មួយ យើង​ក៏​អាច​ភ្ជាប់​​ឈ្មោះ​ជា​ច្រើន​ឲ្យ​ទៅ​វត្ថុ​​នោះ​បាន​ដែរ ដោយ​ធ្វើ​ដូច​ខាងក្រោម​នេះ​៖

 

PI = 3.14
NUMBER = PI
print(PI)
print(NUMBER)

 

នៅ​លើ​បន្ទាត់​លេខ 2 ការសរសេរ​ថា NUMBER = PI គឺ​ជា​បញ្ជា​តម្រូវ​ឲ្យ​ភ្ជាប់​ឈ្មោះ NUMBER មួយទៀត​ទៅ​នឹង​វត្ថុ​​​ដែល​មាន​ឈ្មោះ​ថា PI មួយ​រួច​ទៅ​ហើយ​។ ជា​លទ្ធផល វត្ថុ​ដែល​មាន​តំលៃ​លេខ 3.14 មាន​ឈ្មោះ​រហូត​ដល់​ទៅ​ពីរ គឺ​ឈ្មោះ​​មួយ​ជា​ PI និង​ឈ្មោះ​​មួយ​ទៀត​ជា​ NUMBER ។

 

ឈ្មោះ​របស់​​វត្ថុ​​មាន​តួនាទី​សំខាន់​ណាស់ សម្រាប់​សម្គាល់​ទីតាំង​របស់​វត្ថុ​​​​នៅ​ក្នុង​សតិរបស់​ឧបករណ៍​អេឡីចត្រូនិក ហើយ​បើ​គ្មាន​ឈ្មោះ​នោះ​ទេ យើង​នឹង​គ្មាន​មធ្យោបាយ​ណា​មួយ ដែល​អនុញ្ញាត​ឲ្យយើង​អាច​យក​វត្ថុ​​​ទៅ​ប្រើប្រាស់​នៅ​ទី​កន្លែង​ផ្សេង​ៗ​ទៀត​បាន​ឡើយ​។ ក៏ប៉ុន្តែ​ផ្ទុយ​ទៅវិញ យើង​អាច​ដក​យក​ឈ្មោះ​របស់​វត្ថុ​​ណា​មួយ ទៅ​ភ្ជាប់​នឹង​វត្ថុ​ផ្សេង​ទៀត​បាន ដោយ​ធ្វើ​ដូច​ខាង​ក្រោម​នេះ​៖

 

PI = 3.14
PI = 3.1415
print(PI)

 

នៅ​លើ​បន្ទាត់​លេខ 2 ការសរសេរថា PI = 3.1415 គឺ​ជា​បញ្ជា​តម្រូវ​ឲ្យ​យក​ឈ្មោះ​ PI ដែល​ជា​ឈ្មោះ​របស់​វត្ថុ​​​ជា​​​​លេខ 3.14 រួច​ទៅ​ហើយ​នោះ ទៅ​ភ្ជាប់​នឹង​វត្ថុ​ដែល​ជា​លេខ 3.1415 វិញ​ម្តង​។ ជា​លទ្ធផល វត្ថុ​​​លេខ 3.14 ត្រូវ​បាត់​ឈ្មោះ និង​ត្រូវ​លុប​ចេញ​ពី​ក្នុង​សតិ​របស់​ឧបករណ៍​អេឡិចត្រូនិក​​ដោយ​ស្វ័យប្រវត្តិ​។ ការលុប​វត្ថុ​ដោយ​ស្វ័យប្រវត្តិ​តាម​របៀប​នេះ​ ​​ជា​ភាសាអង់គ្លេស​ត្រូវ​ហៅ​ថា​​ garbage collection ដែល​យើង​អាច​បក​ប្រែ​ជា​ភាសាខ្មែរ​​មក​ថា យន្តការ​បោស​សំអាត ដែល​តែងតែ​កើត​មាន​ឡើង​​ជា​ដរាប នៅ​ពេល​ណា​ដែល​វត្ថុ​ទាំងឡាយ​ត្រូវ​បាត់​ឈ្មោះ​អស់​​។

 

ទន្ទឹម​នឹង​នេះ យើង​ក៏​ត្រូវ​ធ្វើ​ការកត់​សម្គាល់​ផង​ដែរ​ថា វត្ថុ​​​​មួយ​ត្រូវ​លុប​ចេញ​ពី​ក្នុង​សតិ​របស់​ឧបករណ៍អេឡិចត្រូនិក តែ​ក្នុង​ករណី​ណា​ដែល​វត្ថុនោះ​ត្រូវ​បាត់​ឈ្មោះ​អស់​តែ​ប៉ុណ្ណោះ តែ​បើ​វត្ថុ​នោះ​មាន​ឈ្មោះ​លើស​ពី​មួយ ការយក​ឈ្មោះ​ណា​មួយ​ទៅ​ភ្ជាប់​នឹង​វត្ថុ​ផ្សេង​ទៀត នឹង​មិន​បណ្តាល​ឲ្យ​វត្ថុ​ដើម​ត្រូវ​លុប​ចេញ​ពី​ក្នុង​សតិ​របស់​ឧបករណ៍​អេឡិចត្រូនិក​​ឡើយ ពីព្រោះ​នៅ​មាន​ឈ្មោះ​ផ្សេង​ៗ​​ទៀត​​​នៅ​ជាប់​នឹង​វត្ថុ​​​នោះ​។ ពិនិត្យ​កម្មវិធី​ខាង​ក្រោម​នេះ​៖

 

sale = 1000
total = sale
sale = 2000
print(sale)
print(total)

 

នៅ​លើ​បន្ទាត់​លេខ 3 ការសរសេរ​ថា sale = 2000 គឺ​ជា​បញ្ជា​តម្រូវ​ឲ្យ​ដក​យក​ឈ្មោះ​ sale ដែល​ជា​ឈ្មោះ​របស់​វត្ថុលេខ​ 1000 រួច​ទៅ​ហើយ​នោះ ទៅ​ភ្ជាប់​នឹង​វត្ថុ​​ដែល​ជា​លេខ 2000 វិញ​ម្តង​។ ប្រការ​នេះ​មិន​បាន​ធ្វើ​ឲ្យ​វត្ថុ​​ដែល​ជា​លេខ​ 1000 ត្រូវ​លុប​ចេញ​ពី​ក្នុង​សតិ​របស់​ឧបករណ៍​អេឡិចត្រូនិក​​ឡើយ ពីព្រោះ​នៅ​មាន​ឈ្មោះ​ total មួយ​ទៀត នៅ​ជាប់​នឹង​វត្ថុ​​​​នោះ​៕