Professional Documents
Culture Documents
ទំព័រ 2
ទំព័រ 3
លំនំដ ើម ...................................................................................................................13
កមមវិធី ........................................................................................................................................ 13
វត្ថនិ
ុ ងដ្មោះ ..........................................................................................................19
វត្ថុ ............................................................................................................................................... 19
ឈ្មោះរបស់វត្ថុ .......................................................................................................................... 20
ររដេទននវត្ថុ ..........................................................................................................25
ចាំនួនគត្់ ..................................................................................................................................... 25
អាទិភាព្ននររមាណសញ្ញា ......................................................................................................................................29
ចាំនួនពិត្ ..................................................................................................................................... 30
ត្កកវត្ថុ ........................................................................................................................................ 32
ររមាណវិ ធីបររៀបបធៀប............................................................................................................................................36
ឈោឃៈវត្ថុ .................................................................................................................................. 39
កម្មងអកសរ ................................................................................................................................ 39
ររមាណវិ ធីបូក្បនត...................................................................................................................................................43
ររមាណវិ ធីគុនបនត...................................................................................................................................................43
ររមាណវិ ធីបររៀបបធៀប............................................................................................................................................49
ររមាណវិ ធី ក្ធាតុ...................................................................................................................................................52
ក្ំណត់ព្នយេ់ .........................................................................................................................................................53
កម្មងឈេរ ................................................................................................................................... 54
ររមាណវិ ធីបូក្បនត...................................................................................................................................................56
ររមាណវិ ធីគុនបនត...................................................................................................................................................56
ររមាណវិ ធីបររៀបបធៀប............................................................................................................................................58
ររមាណវិ ធី ក្ធាតុ...................................................................................................................................................60
កម្មងអឈេរ ................................................................................................................................ 63
ររមាណវិ ធីបូក្បនត...................................................................................................................................................64
ររមាណវិ ធីគុនបនត...................................................................................................................................................64
ររមាណវិ ធីបររៀបបធៀប............................................................................................................................................66
ររមាណវិ ធី ក្ធាតុ...................................................................................................................................................68
វចនានុម្កម .............................................................................................................................. 73
ររមាណវិ ធីបររៀបបធៀប............................................................................................................................................76
ររមាណវិ ធី ក្ធាតុ...................................................................................................................................................78
សាំណុាំ ............................................................................................................................................ 78
ររមាណវិ ធីររជុំ.......................................................................................................................................................80
ទំព័រ 6
ររមាណវិ ធីររសព្វ...................................................................................................................................................82
ររមាណវិ ធីររជុំធាតុខុសគ្នា.....................................................................................................................................83
ររមាណវិ ធីបររៀបបធៀប............................................................................................................................................85
ររមាណវិ ធី ក្ធាតុ...................................................................................................................................................87
សោសវត្ថននសោសវត្ថ
ុ ុ ....................................................................................................... 89
ររដេទននបញ្ជ
ា ......................................................................................................92
បញ្ជ
ា ចត្់ត ាំង ........................................................................................................................... 92
សវ័យររមាណវិ ធី .....................................................................................................................................................95
បញ្ជ
ា if ....................................................................................................................................... 103
បញ្ជ
ា if/else ............................................................................................................................... 104
បញ្ជ
ា if/elif/else ........................................................................................................................ 105
ក្បនោម្ររមាណវិ ធីមានជបរម្ើស............................................................................................................................107
បញ្ជ
ា while ................................................................................................................................ 108
បញ្ជ
ា for .................................................................................................................................... 110
ទំព័រ 7
បញ្ជ
ា break ................................................................................................................................ 111
បញ្ជ
ា continue........................................................................................................................... 112
បញ្ជ
ា pass .................................................................................................................................. 113
បញ្ជ
ា while/else ........................................................................................................................ 114
បញ្ជ
ា for/else ............................................................................................................................ 116
វដ្តកមមកងវដ្ត
ែុ កមម ................................................................................................................. 117
ក្បន
ួ ............................................................................................................................. 119
ការបឈងកើត្កបន
ួ ......................................................................................................................... 119
ការយកកបនមកឈម្បើ
ួ .............................................................................................................. 122
បញ្ជ
ា return ............................................................................................................................... 129
ដ្ាំណឹងោនម្ាប់.................................................................................................................... 132
ការម្បមូលផតាំដ្
ុ ាំណឹង................................................................................................................ 136
ទំព័រ 8
ដដនក្ំណត់សក្េ.................................................................................................................................................140
ដដនក្ំណត់បោយដែក្..........................................................................................................................................141
ដដនក្ំណត់ចា ក្
ឹ ក្ាុងនិងដដនក្ំណត់ចា ក្
ឹ បរៅ.......................................................................................................142
ដដនក្ំណត់ទូបៅ ...................................................................................................................................................143
កបនោនម្ាប់
ួ ........................................................................................................................ 153
ថ្នាក្់............................................................................................................................. 158
ការបឈងកើត្ថ្នែក់......................................................................................................................... 158
ការយកសមបត្តថ្ន
ិ ែ ក់មកឈម្បើ ................................................................................................. 163
ការបផ្នថមវត្ថុចូលឈៅកែងថ្ន
ុ ែ ក់............................................................................................ 165
ថ្នាក្់មានរាប់.................................................................................................... 217
ការបឈងកើត្ាស្ត្ាត.................................................................................................................... 244
ការយកសមបត្តា
ិ ស្ត្ាតមកឈម្បើ ............................................................................................ 247
ការយកាស្ត្ាតកែងកញ្ច
ុ ប់មកឈម្បើ ...................................................................................... 253
បណា
ា ល័យមជ្ឍ ឹម ................................................................................................................... 256
បញ្ជ
ា try/except ........................................................................................................................ 260
បញ្ជ
ា try/except/else ................................................................................................................ 265
បញ្ជ
ា try/except/finally ............................................................................................................. 266
បញ្ជ
ា try/except/else/finally ..................................................................................................... 266
បញ្ជ
ា raise ................................................................................................................................. 267
បញ្ជ
ា assert ............................................................................................................................... 268
បដចចក្ដទសជាន់ខ្ស
ព ់ ...................................................................................... 271
កបនអនាមិ
ួ ក ............................................................................................................................ 271
កបនផលិ
ួ ត្ករនិងផលិត្ករ ................................................................................................... 276
វិ ធីព្ិបសសសរមាប់សមាសវតថុ ................................................................................................................................299
វិ ធីព្ិបសសសរមាប់សិសស .......................................................................................................................................301
សមបត្តព
ិ ិឈសស ......................................................................................................................... 304
សមបត្តឯ
ិ កជ្ន ......................................................................................................................... 309
សែយ
័ ឈសវា ............................................................................................................................... 319
កា ចម្លងបសើបេើ .....................................................................................................................................................321
កា ចម្លងទំងរសុង.................................................................................................................................................325
អាណាពាបាលនិងបញ្ជ
ា with.............................................................................................. 326
អាណាព្ាបាេ .....................................................................................................................................................326
លំនំដ ើម
កមមវិធី
ក្មមវ ិធីបុណ្យ ក្មមវ ិធីអភិ វឌឍន៍ ក្មមវ ិធីទូរទសេន៍ជានដើម។ នែើ ពាក្យថា ”ក្មមវ ិធី” ន ោះមានន័យ
ដូចនមតចតដ?
នរៀបរាប់ពីនធវើពិធីនផេងៗតដលរែូវនធវើនឡើងតំងពីនពលចាប់នផតើមបុណ្យរហូែដល់នពលចប់បុណ្យ
រែូវនធវើតមលំដាប់លំនដាយនដើមបីនធវើពិធីបុណ្យទំងមូល។
លំដាប់លំនដាយនៅក្នុងរយៈនពលមានក្រមឹែណាមួយនដើមបីកាែ់បនថយភាពរក្ីរក្។
រយៈនពលនពញមួយថ្ងៃ។
ការងារតដលរែូវនធវើតមលំដាប់លំនដាយក្នុងរយៈនពលមានក្រមឹែណាមួយនដើមបីនដាោះស្រាយ
បញ្
ា មួយចំនួន។
ទំព័រ 14
នដាោះស្រាយបញ្
ា មួយចំនួនតដរ។ តែនដាយនហែុថា ក្ំពយូទ័ រអាចនធវើការងារជានរចើនមានចំនួន
រាប់មុឺនតសនតែក្នុងរយៈនពលតែមួយប៉របិចតភនក្តែប៉ុនណាណោះ ដូចននោះការងារទំងអស់នៅក្នុង
តមលំដាប់លំនដាយក្នុងនោលបំណ្ងនដាោះស្រាយបញ្
ា ណាមួយ េឺនៅនពលន ោះនហើយ
បញ្
ា រក្រាក្់ចំនណ្ញ នយើងអាចនធវើដូចខាងនរកាមននោះ៖
គណនាឥកថ្លលវិញ
គណនាឥកថ្លលឦក់
ននោះ។
ន ោះ។ ពីនរពាោះនយើងទំងអស់ោនសុទធតែធ្លលប់ាននធវើការស្រាយបំភឺលឬនធវើការនដាោះស្រាយ
លំដាប់លំនដាយថ្នការនដាោះស្រាយបញ្
ា ។
ផ្ផែកទន់ ច ាំបាច់
ដំនណ្ើរការនរាងជាង IDLE នយើងរែូវចុច Start > All Programs > Python 3 > IDLE ។
ទំព័រ 16
នយើងនឹងន ើញមានបងអួចមួយនទៀែដូចនៅក្នុងរូបខាងនរកាមននោះ៖
ថ្លលឦក់ = 1000
ថ្លលវិញ = 900
print("រាក់ចណំ ណញគ៖
ឺ ", រាក់ចណំ ណញ)
លទធផលដូចនៅក្នុងរូបខាងនរកាមននោះ៖
ទំព័រ 18
ក្ំពយូទ័រយក្នៅអនុវែតនដើមបីនដាោះស្រាយបញ្
ា នផេងៗ។
លំនដាយែរមូវឲ្យក្ំ ពយូទ័រយក្នៅអនុវែតក្ុងនោលបំ
ន ណ្ងនដាោះស្រាយបញ្
ា មួយចំនួន។
ទំព័រ 19
វត្ថុនិងដ្មោះ
វត្ថុ
សរមាប់យក្មក្នដាោះស្រាយបញ្
ា ទំងន ោះនៅថា ទិននន័យ (data) ដូចននោះការនដាោះស្រាយ
បញ្
ា រក្រាក្់ចំនណ្ញ េឺជាការយក្ទិននន័យតដលជា ថ្ងលលក្់ និងទិននន័យតដលជា ថ្ងលទិញ មក្
នធវើរបមាណ្វ ិធីដក្។
ចាំាច់រែូវតែសរនសរនចញបញ្
ា ែរមូវឲ្យក្ំ ពយូទ័ របនងកើែទិននន័យទំងន ោះទុក្នៅក្នុង សែិ
Python េឺរែូវនធវើនឡើងដូចខាងនរកាមននោះ៖
1000
ែរមូវឲ្យបនងកើែទិននន័យនលខ្1000 មួយទុក្នៅក្នុងសែិរបស់ក្ំពយូទ័ រ។
1000
ទំព័រ 20
ឈ្មោះរបស់ វត្ថុ
សរនសរក្មមវ ិធីដូចខាងនរកាមននោះ៖
ថ្លលឦក់ = 1000
ល ក់ = 1000 េឺជាបញ្
ថ្លឦ ា ែរមូវឲ្យបនងកើែវែថុនលខ្ 1000 តដលមានន្មោះថា ថ្ងលលក្់ ។
ថ្ងលលក្់ 1000
ពិនសសទំងន ោះមានដូចខាងនរកាមននោះ៖
ទំព័រ 21
េឺជាការយក្វែថុន ោះផ្ទទល់នៅនរបើតែមតង។
ដូចខាងនរកាមននោះ៖
ថ្លលឦក់ = 1000
print(ថ្លលឦក់)
ល ក)់ េឺ ជាបញ្
print(ថ្លឦ ា ែរមូវឲ្យសរនសរវែថុតដលមានន្មោះថា ថ្ងលលក្់ នៅនលើ បងអួចបឋម
ៗតដលជាលទធផលានមក្ពី ការនរបើបញ្
ា print ននោះ។ នហើយនយើងនឹងានាគល់ចាស់ពី
បញ្
ា print ននោះនៅនពលណាតដលនយើងនធវើការសិក្ាពីវែថុតដលជាក្បួននៅក្នុងភាា Python
នផេងៗនៅនលើបងអួចបឋម។
ថ្លលឦក់ = 1000
រាក់សឥុស = ថ្លលឦក់
print(ថ្លលឦក់)
print(រាក់សឥុស)
រាក់សឥុស = ថ្លឦ
ល ក់ េឺ ជាបញ្
ា ែរមូវឲ្យភាាប់ន្មោះ រាក្់សរុប មួយនទៀែនៅនឹងវែថុតដល
បំរពួញដូចខាងនរកាមននោះ៖
ថ្ងលលក្់ 1000
រាក្់សរុប
ទំព័រ 23
ន្មោះរបស់វែថុមានែួ ទីសំខាន់សរមាប់សំោល់ទីតំងរបស់វែថុនៅក្នុងសែិរបស់ក្ំពយូទ័ រ
យក្ន្មោះរបស់វែថុណាមួយនៅភាាប់ជាមួយវែថុមួយនផេងនទៀែាននដាយសរនសរក្មមវ ិធីដូច
ខាងនរកាមននោះ៖
ថ្លលឦក់ = 1000
ថ្លលឦក់ = 2000
print(ថ្លលឦក់)
ល ក់ = 2000 េឺជាបញ្
ថ្លឦ ា ែរមូវឲ្យយក្ន្មោះ ថ្ងលលក្់ តដលជាន្មោះរបស់នលខ្ 1000 នៅ
ពីក្ុងសែិ
ន របស់ក្ំពយូទ័រនដាយសវ័យរបវែតិ។ ការលុបវែថុរនបៀបននោះនៅថា យនតការនាសសមាអែ
បំរពូញដូចខាងនរកាមននោះ៖
ថ្ងលលក្់ 1000
2000
ទំព័រ 24
លុបនចញពីក្ុងសែិ
ន របស់ក្ំពយូទ័រនឡើយ នរពាោះនៅមានន្មោះជានរចើននទៀែនៅជាប់នឹងវែថុន ោះ
។ ពិនិែយក្មមវ ិធីខាងនរកាមននោះ៖
ថ្លលឦក់ = 1000
រាក់សឥុស = ថ្លលឦក់
ថ្លលឦក់ = 2000
print(ថ្លលឦក់)
print(រាក់សឥុស)
ល ក់ = 2000 េឺជាបញ្
ថ្លឦ ា ែរមូវឲ្យយក្ន្មោះ ថ្ងលលក្់ តដលជាន្មោះរបស់វែថុនលខ្ 1000 នៅ
ថ្ងលលក្់ 1000
រាក្់សរុប 2000
ទំព័រ 25
ររដេទននវត្ថុ
(type) នទៀែតដលនយើងអាចបនងកើែនឡើងនដើមបីនឆលើយែបនៅនឹងែរមូវការថ្នការនដាោះស្រាយ
បញ្
ា នផេងៗ។ វែថុទំងន ោះមាន៖
ចាំនួន គត្់
ក្មមវ ិធីដូចខាងនរកាមននោះ៖
ថ្លលឦក់ = 1000
ថ្លលវិញ = 900
print(ថ្លលឦក់)
print(ថ្លលវិញ)
ល ក់ = 1000 េឺជាបញ្
ថ្លឦ ា ែរមូវឲ្យបនងកើែចំនួនេែ់មួយមានន្មោះថា ថ្ងលលក្់ តដលជានលខ្
1000 ។
ថ្លវ
ល ិញ = 900 េឺជាបញ្
ា ែរមូវឲ្យបនងកើែចំនួនេែ់មួយនទៀែមានន្មោះថា ថ្ងលទិញ តដលជា
នលខ្ 900 ។
ទំព័រ 26
ប៉ុ ម នខ្ទង់ក្៍ានតដរ។
នឹងែរមូវការរបស់នយើងនៅក្នុងការនដាោះស្រាយបញ្
ា ។ ចំនួនេែ់អាចរែូវយក្មក្នធវើរបមាណ្
វ ិធី មួយចំនួនដូចែនៅននោះ៖
ររមាណវិ ធីនព្វនត
ថ្លលឦក់ = 1000
ថ្លលវិញ = 900
print(ថ្លលឦក់ + ថ្លលវិញ)
print(ថ្លលឦក់ - ថ្លលវិញ)
print(ថ្លលឦក់ * ថ្លលវិញ)
print(ថ្លលឦក់ / ថ្លលវិញ)
print(ថ្លលឦក់ // ថ្លលវិញ)
print(ថ្លលឦក់ % ថ្លលវិញ)
print(ថ្លលឦក់ ** ថ្លលវិញ)
ទំព័រ 27
ល ក់ + ថ្លវ
ថ្លឦ ល ិ ញ េឺ ជាបញ្
ា ែរមូវឲ្យនធវើ របមាណ្វ ិធី បូក្ (addition) រវាងចំនួនេែ់ន្មោះ
ល ក់ + ថ្លវ
ថ្ងលលក្់ និងចំនួនេែ់ន្មោះ ថ្ងលទិញ ។ ការសរនសរ ថ្លឦ ល ិ ញ នៅថា ក្ននាម
ឲ្យានលទធផលជាវែថុមួយងមីនទៀែ។
ល ក់ - ថ្លវ
ថ្លឦ ល ិ ញ េឺជាបញ្
ា ែរមូវឲ្យនធវើ របមាណ្វ ិធី ដក្ (subtraction) រវាងចំនួនេែ់ន្មោះ
សរនសរនៅនលើបងអួចបឋម។
ល ក់ * ថ្លវ
ថ្លឦ ល ិញ េឺ ជាបញ្
ា ែរមូវឲ្យនធវើ របមាណ្វ ិធី េុន (multiplication) រវាងចំនួនេែ់ន្មោះ
សរនសរនៅនលើបងអួចបឋម។
ទំព័រ 28
ល ក់ / ថ្លវ
ថ្លឦ ល ិញ េឺ ជាបញ្
ា ែរមូវឲ្យនធវើ របមាណ្វ ិធីតចក្ (division) រវាងចំនួនេែ់ន្មោះ
នក្បៀស។ នយើងនឹងនធវើការសិក្ាលមអឹែពីនលខ្មាននក្បៀសនៅនពលបនតិចនទៀែននោះ។
ល ក់ // ថ្លវ
ថ្លឦ ល ិ ញ េឺ ជាបញ្
ា ែរមូវឲ្យនធវើ របមាណ្វ ិធី តចក្បនថយ (floor division) រវាងចំនួនេែ់
ានសរនសរនៅនលើបងអួចបឋម។
ល ក់ % ថ្លវ
ថ្លឦ ល ិ ញ េឺ ជាបញ្
ា ែរមូវឲ្យនធវើ របមាណ្វ ិធី តចក្យក្សំណ្ល់ (modulus) រវាង
នទៀែរែូវានសរនសរនៅនលើបងអួចបឋម។
សំណ្ល់។
ល ក់ ** ថ្លវ
ថ្លឦ ល ិញ េឺ ជាបញ្
ា ែរមូវឲ្យនធវើ របមាណ្វ ិធី ស័យ
វ េុន (exponentiation) រវាងចំនួនេែ់
ល ក់ ** ថ្លវ
ានសរនសរនៅនលើបងអួចបឋម។ ក្ននាមរបមាណ្វ ិធី ថ្លឦ ល ិ ញ មានន័យថា ថ្ងលលក្់
សវ័យេុន ថ្ងលទិញ ។
ទំព័រ 29
អាទិភាព្ននររមាណសញ្ញា
តដរមក្នធវើរបមាណ្វ ិធីចំរោះ
ុ ោននដើមបីឲ្យានលទធផលជាវែថុតដលនយើងរែូវការ។ ក្នុងក្រណ្ីននោះ
ខាងនរកាមននោះ៖
ថ្លលឦក់ = 1000
ថ្លលវិញ = 900
ណោហុ ឤ = 300
ល ក់ + ថ្លវ
ថ្លឦ ល ិញ * ណោហុ ឤ េឺជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធី រវាងចំនួនេែ់ន្មោះ ថ្ងលលក្់
របមាណ្សញ្ដេុនមានអាទិភាពជាងរបមាណ្សញ្ដបូក្។ ម៉ាងនទៀែនៅក្នុងក្ននាម
ថ្លលឦក់ = 1000
ថ្លលវិញ = 900
ណោហុ ឤ = 300
ល ក់ + ថ្លវ
(ថ្លឦ ល ិ ញ) * ណោហុ ឤ េឺជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធីរវាងចំនួនេែ់ន្មោះ ថ្ងលលក្់
ល ក់ + ថ្លវ
នៅអមសងខាងក្ននាមរបមាណ្វ ិធី ថ្លឦ ល ិញ ដូចននោះរបមាណ្វ ិធី បូក្រែូវនធវើនឡើង
មុនរបមាណ្វ ិធីេុន។
តក្តរបឬាែ់បង់នឡើយ។
ចាំនួន ពិត្
ទំព័រ 31
ថ្លលឦក់ = 1000.75
ថ្លលវិញ = 900.33
print(ថ្លលឦក់)
print(ថ្លលវិញ)
ល ក់ = 1000.75 េឺ ជាបញ្
ថ្លឦ ា ែរមូវឲ្យបនងកើែចំនួនពិែន្មោះ ថ្ងលលក្់ មួយតដលជានលខ្
1000.75 ។
ថ្លវ
ល ិញ = 900.33 េឺ ជាបញ្
ា ែរមូវឲ្យបនងកើែចំនូនពិែមួយនទៀែមានន្មោះថា ថ្ងលទិញ តដលជា
នលខ្ 900.33 ។
ររមាណវិ ធីនព្វនត
ននោះ៖
ថ្លលឦក់ = 100.75
ថ្លលវិញ = 90.33
print(ថ្លលឦក់ + ថ្លលវិញ)
print(ថ្លលឦក់ - ថ្លលវិញ)
print(ថ្លលឦក់ * ថ្លលវិញ)
print(ថ្លលឦក់ / ថ្លលវិញ)
print(ថ្លលឦក់ // ថ្លលវិញ)
ទំព័រ 32
print(ថ្លលឦក់ % ថ្លលវិញ)
print(ថ្លលឦក់ ** ថ្លលវិញ)
ថ្លលឦក់ = 100
ថ្លលវិញ = 90.33
print(ថ្លលឦក់ + ថ្លលវិញ)
print(ថ្លលឦក់ - ថ្លលវិញ)
print(ថ្លលឦក់ * ថ្លលវិញ)
print(ថ្លលឦក់ / ថ្លលវិញ)
print(ថ្លលឦក់ // ថ្លលវិញ)
print(ថ្លលឦក់ % ថ្លលវិញ)
print(ថ្លលឦក់ ** ថ្លលវិញ)
ត្កកវត្ថុ
នរកាមននោះ៖
ររូឧ = True
ខុស = False
print(ររូឧ)
ទំព័រ 33
print(ខុស)
ររមាណវិ ធីតក្កវិទា
ររូឧ = True
ខុស = False
print(ររូឧ or ខុស)
print(not ររូឧ)
print(not ខុស)
។
ទំព័រ 34
ំ ផទុយមក្វ ិញ នបើរបមាណ្អងគនៅខាង
ជាែក្កវែថុ True លទធផលេឺ ជារបមាណ្អងគនៅខាងាត។
ជាែក្កវែថុ True ។
វែថុ False ។
សណតោ ឤ = 176
វវឹង = 0.0
ទំព័រ 35
print(សណតោ ឤ or វវឹង)
print(not សណតោ ឤ)
print(not វវឹង)
តែមតង។
ដូចននោះលទធផលានមក្េឺជាែក្កវែថុ True ។
ទំព័រ 36
ររមាណវិ ធីបររៀបបធៀប
នយើងអាចយក្នលខ្នផេងៗមក្នធវើរបមាណ្វ ិធីនរបៀបនធៀបដូចខាងនរកាមននោះ៖
សណតោ ឤ = 176
វវឹង = 23.31
print(សណតោ ឤ == វវឹង)
print(សណតោ ឤ != វវឹង)
នដើមបីពិនិែយនមើលថានែើ បនណា
ត យ ពិែជានសមើនឹង ទទឹង តមនឬនទ។ លទធផលានមក្ពី
នដើមបីពិនិែយនមើលថានែើ បនណា
ត យ ពិែជាមិននសមើនឹង ទទឹង តមនឬនទ។ លទធផលានមក្ពី
នដើមបីពិនិែយនមើលថានែើ បនណា
ត យ ពិែជាធំជាង ទទឹង តមនឬនទ។ លទធផលានមក្ពី របមាណ្
នដើមបីពិនិែយនមើលថានែើ បនណា
ត យ ពិែជាែូចជាង ទទឹង តមនឬនទ។ លទធផលានមក្ពី
នដើមបីពិនិែយនមើលថានែើ បនណា
ត យ ពិែជាធំជាងឬនសមើនឹង ទទឹង តមនឬនទ។ លទធផលានមក្ពី
នដើមបីពិនិែយនមើលថានែើ បនណា
ត យ ពិែជាែូចជាងឬនសមើនឹង ទទឹង តមនឬនទ។ លទធផលានមក្
តមន។
ទំព័រ 38
ររមាណវិ ធីអតតសញ្ញាណ
នយើងអាចយក្វែថុនផេងៗមក្នធវើរបមាណ្វ ិធីអែតសញ្ដណ្ដូចខាងនរកាមននោះ៖
សណតោ ឤ = 176
វវឹង = 23.31
កំឡស់ = សណតោ ឤ
print(សណតោ ឤ is វវឹង)
print(សណតោ ឤ is កំឡស់)
is នដើមបីពិនិែយនមើលថានែើ បនណា
ត យ និង ទទឹង េឺជាវែថុតែមួយតមនតដរឬនទ។ លទធផលាន
មួយន ោះនទ។
សណត ំ ស់ េឺ ជាបញ្
ោ ឤ is កឡ ា ែរមូវឲ្យនធវើរបមាណ្វ ិធីអែតសញ្ដណ្នដាយនរបើរបមាណ្សញ្ដ
is នដើមបីពិនិែយនមើលថានែើ បនណា
ត យ និង ក្ំពស់ េឺជាវែថុតែមួយតមនតដរឬនទ។ លទធផលាន
តមន។
ទំព័រ 39
ជាមិនតមនជាវែថុតែមួយតមន។
បនណា
ត យ 176
ក្ំពស់
ទទឹង 23.31
ឈោឃៈ វត្ថុ
អរ់រថ្ឣល = None
print(អរ់រថ្ឣល)
ក្បួនមក្នរបើជានដើម។ នយើងនឹងានាគល់ពីការយក្ក្បួនមក្នរបើនៅនពលខាងមុខ្ននោះ។
កម្មង អកសរ
ទំព័រ 40
បនងកើែក្រមងអក្េរ នយើងរែូវនធវើដូចខាងនរកាមននោះ៖
ឃ្លល = "កឣមឧឝ
ិ ជាភាោ
ី Python "
print(ឃ្លល)
ឃ្លល = "កឣឧម ឝ
ិ ីជាភាោ Python " េឺ ជាបញ្
ា ែរមូវឲ្យបនងកើែក្រមងអក្េរមួយមានន្មោះថា ឃ្លល
ឃ្លល១ = "អនករាជញឥកាណលល"
ឃ្លល២ = 'អនកមាឞឥកាកសរ់'
print(ឃ្លល១)
print(ឃ្លល២)
ឃ្លល១ = "អក
ន រាជឥញ កាណលល" េឺ ជាបញ្
ា ែរមូវឲ្យបនងកើែក្រមងអក្េរមួយមានន្មោះថា ឃ្លល១
ន មាឞឥកាកសរ់' េឺ ជាបញ្
ឃ្លល២ = 'អក ា ែរមូវឲ្យបនងកើែក្រមងអក្េរមួយមានន្មោះថា ឃ្លល២
នដាយនហែុថានយើងអាចនរបើសញ្ដរហូែដល់នៅពីរតបបនៅក្នុងការបនងកើែក្រមងអក្េរ ដូចននោះ
រសណោគ = 'សឥណសឥកឣមឧឝ
ិ គ
ី ជា
ឺ "កាឥណ ា ទ ំងឡួង'
ោះរោឤ" សញ្ហ
print(រសណោគ)
រសណោគ = 'សឥណសឥកឣឧម ឝ
ិ ីគជា
ឺ "កាឥណ ោះរោឤ" សញ្ហ ំ ួ ង' េឺ ជាបញ្
ា ទងឡ ា ែរមូវឲ្យបនងកើែ
អនករាជញឥកាណលល ដូ ចសំណៅណៅសំា៉ាឞ។"""
កថា = '''កាឥសឥណសឥកឣមឧឝ
ិ កំ
ី ឡយូវ័ឥគជាកាឥសឥណសឥណឥៀសចំ
ឺ
សញ្ហ
ា ឣួ ឤចំឞួឞតាឣឦំ ស់ឦណំ ឤ។'''
print(ពាកយចាស់)
print(កថា)
សងខាងអែថបទមួយនទៀែ។
ទំព័រ 42
សំា៉ាឞ។"""
print(ពាកយចាស់)
ពាកយចាស់ = """អក
ន មាឞឥកាកសរ់\tដូចសឡ
ំ រ់ឡ័វឡ ន រាជឥញ កាណលល\tដូចសណំ ៅណៅ
ធ ី កណរៅ\nអក
ំ ៉ា ឞ។""" េឺជាបញ្
សា ា ែរមូវឲ្យបនងកើែក្រមងអក្េរមួយមានន្មោះថា ពាក្យចាស់ តដលនៅក្នុង
\b Backspace
\r Enter
\" "
\' '
\b សនមលងជួង
នរកាមននោះ៖
ឃ្លល = R"ឯកោឥសំខាឞ់សិរណៅកន
ថ ុ ងលរ c:\n\ឯកោឥសំងារ់"
ទំព័រ 43
print(ឃ្លល)
ំ ឞ់សិរណៅក
ឃ្លល = R"ឯកោឥសខា ថ ុ ងលរ
ន ំ រ់" េឺ ជាបញ្
c:\n\ឯកោឥសងា ា ែរមូវឲ្យបនងកើែក្រមង
ររមាណវិ ធីបូក្បនត
នទៀែ។
នយើងអាចយក្ក្រមងអក្េរនផេងៗមក្នធវើរបមាណ្វ ិធីបូក្បនតដូចខាងនរកាមននោះ៖
ឃ្លល១ = "អនករាជញឥកាណលល\t"
print(ឃ្លល១ + ឃ្លល២)
ររមាណវិ ធីគុនបនត
រសមាណឧឝ
ិ ីគុឞសឞោ (repetition) េឺ ជារបមាណ្វ ិធី ទំងឡាយណាតដលនៅក្នុងន ោះមាន
បនងកើែជាវែថុងមីមួយនទៀែ។
ទំព័រ 44
នយើងអាចយក្ក្រមងអក្េរនផេងៗមក្នធវើរបមាណ្េុនបនតដូចខាងនរកានននោះ៖
់
រសណោគណដើឣ = "រក់ៗណឡញសំឡង\t"
print(រសណោគណដើឣ * 3)
រសណោគណដើឣ * 3 េឺជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធីេុនបនតនដាយចមលងយក្ក្រមងអក្េរមាន
ក្រមងអក្េរងមីមួយនទៀែ។
ររមាណវិ ធីបេខប ៀង
ែនរមៀបជួរោនចាប់ពី -1 ចុោះមក្រហូែដល់ -6 ។
0 1 2 3 4 5
P y t h o n
-6 -5 -4 -3 -2 -1
ទំព័រ 45
រែនណាែថ្នវែថុនផេងៗ។
ការនរបើរាស់របមាណ្សញ្ដ [ ] នដើមបីចមលងយក្ធ្លែុណាមួយនៅក្នុងសមាសវែថុណាមួយមក្
នរបើការ។
នយើងអាចយក្ក្រមងអក្េរនផេងៗមក្នធវើរបមាណ្វ ិធីនលខ្នរៀងដូចខាងនរកាមននោះ៖
ើ = "រក់ៗណឡញសំឡង"់
ឃ្លលណដឣ
print(ឃ្លលណដើឣ[5])
print(ឃ្លលណដើឣ[-3])
print(ឃ្លលណដឣ
ើ [0])
ឃ្លលណដើឣ[5] េឺជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធី នលខ្នរៀងនដើមបីចមលងយក្ែួ អក្េរមាននលខ្នរៀង 5
នៅក្នុងក្រមងអក្េរន្មោះ ឃ្លលនដើម ។
ឃ្លលណដឣ
ើ [-3] េឺជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធីនលខ្នរៀងនដើមបីចមលងយក្ែួ អក្េរមាននលខ្នរៀង
-3 នៅក្នុងក្រមងអក្េរន្មោះ ឃ្លលនដើម ។
ឃ្លលណដឣ
ើ [0] េឺជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធី នលខ្នរៀងនដើមបីចមលងយក្ែួ អក្េរមាននលខ្នរៀង 0
នៅក្នុងក្រមងអក្េរន្មោះ ឃ្លលនដើម ។
ទំព័រ 46
ររមាណវិ ធីកាត់ចម្លង
មក្បនងកើែជាក្រមងងមីមួយនទៀែ។
នយើងអាចយក្ក្រមងអក្េរនផេងៗមក្នធវើរបមាណ្វ ិធីកាែ់ចមលងដូចខាងនរកាមននោះ៖
print(ពាកយចាស់[3:30])
print(ពាកយចាស់[:30])
print(ពាកយចាស់[3:])
print(ពាកយចាស់[:])
print(ពាកយចាស់[3:30:2])
ពាកយចាស់[3:30] េឺជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធី កាែ់ចមលងនដើមបីចមលងយក្ែួ អក្េរមួយចំនួន
ក្រមងអក្េរមួយងមីនទៀែ។
ពាកយចាស់[:30] េឺជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធី កាែ់ចមលងនដើមបីចមលងយក្ែួ អក្េរមួយចំនួន
ក្រមងអក្េរមួយងមីនទៀែ។
ពាកយចាស់[3:] េឺ ជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធី កាែ់ចមលងនដើមបីចមលងយក្ែួ អក្េរមួយចំនួន
មាននលខ្នរៀងចាប់ពី 3 រហូែដល់អក្េរនៅខាងចុងនេបំផុែនៅក្នុងក្រមងអក្េរន្មោះ
ពាក្យចាស់ មក្បនងកើែជាក្រមងអក្េរមួយងមីនទៀែ។
ទំព័រ 47
ពាកយចាស់[:] េឺជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធីកាែ់ចមលងនដើមបីចមលងយក្ែួអក្េរទំងអស់នៅ
ពាកយចាស់[3:30:2] េឺ ជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធីកាែ់ចមលងនដើមបីចមលងយក្ែួអក្េរមួយ
ក្រមងអក្េរងមីមួយនទៀែ។
ក្រមងអក្េរងមីមួយនទៀែ។
បនងកើែជាក្រមងអក្េរងមីមួយនទៀែ។
ររមាណវិ ធីតក្កវិទា
ឃ្លលវណវ = ""
ពាកយចាស់ = "រក់ៗណឡញសំឡង់"
print(ឃ្លលវណវ or ពាកយចាស់)
print(not ឃ្លលវណវ)
print(not ពាកយចាស់)
ោមនអក្េរនៅក្នុងន ោះ។
អនក្នធវើឲ្យមានេំលាែរវាងែួអក្េរនផេងៗនទៀែ។
ាត។
ំ
True ។
ននោះេឺជាែក្កវែថុ False ។
ររមាណវិ ធីបររៀបបធៀប
នយើងអាចយក្ក្រមងអក្េរនផេងៗមក្នធវើរបមាណ្វ ិធីនរបៀបនធៀបដូចខាងនរកាមននោះ៖
print(នាឣ១ == នាឣ២)
print(នាឣ១ != នាឣ២)
ក្រមងអក្េរពី រដូចោនេឺជាក្រមងអក្េរតដលមានអក្េរដូចោនទំងអស់។
ដូចោនតមន។
ក្រមងអក្េរន្មោះ ម២ តមន។
ម១ មានលំដាប់ថានក្់នៅនរកាយក្រមងអក្េរន្មោះ ម២ នបើសិនជានយើងយក្ក្រមងអក្េរ
ក្រមងអក្េរន្មោះ ម២ នទ។
ជាងឬនសមើនឹងក្រមងអក្េរន្មោះ ម២ តមន។
មិនែូចជាងឬនសមើនឹងក្រមងអក្េរន្មោះ ម២ នទ។
ររមាណវិ ធីអតតសញ្ញាណ
នយើងអាចយក្ក្រមងអក្េរនផេងៗមក្នធវើរបមាណ្វ ិធីអែតសញ្ដណ្ដូចខាងនរកាមននោះ៖
ឃ្លល១ = "រក់ៗណឡញសំឡង់"
ឃ្លល២ = "ណសចកោឡាោឣគង
ី ់
ាឞសណរឣច"
print(ឃ្លល១ is ឃ្លល២)
ររមាណវិ ធី ក្ធាតុ
នយើងអាចយក្ក្រមងអក្េរនផេងៗមក្នធវើរបមាណ្វ ិធីរក្ធ្លែុដូចខាងនរកាមននោះ៖
ឃ្លល = "រក់ៗណឡញសំឡង"់
ពាកយ = "សំឡង"់
print(ពាកយ in ឃ្លល)
បញ្
ា ក្់ រាប់ថា របការតដលថានៅក្នុងក្រមងអក្េរន្មោះ ឃ្លល ោមនពាក្យណាមួយដូចនៅនឹង
ក្ំណត់ព្នយេ់
នដើមបីនធវើការពនយល់ពីការនរបើបញ្
ា នផេងៗ។ ឃ្លលរបនយាេទំងន ោះរែូវតែមានសញ្ដ # ននោះនៅ
#កាឥសណងកើរករឣងអកសឥ
ឃ្លល = "រក់ៗណឡញសំឡង"់
ពាកយ = "សំឡង"់
#កាឥសណងើរ
ក ករឣងអកសឥ េឺ ជាក្ំណ្ែ់ ពនយល់នរបើសរមាប់ពនយល់ពីការនរបើបញ្
ា ប ទ ប់ពីន ោះ។
#កាឥណឝរសមាណឧ
ើវ ឝិ ីឥកធារុ េឺ ជាក្ំណ្ែ់ ពនយល់មួយនទៀែនរបើ សរមាប់ពនយល់ពីការនរបើបញ្
ា
នៅខាងនដើមប ទ ែ់។
ទំព័រ 54
កម្មង ឈេរ
នរកាមននោះ៖
print(ករឣងចរឣរោះ)
នឡើយ។
ទំព័រ 55
ននោះ៖
print(ករឣងចរឣរោះ)
នរកាមននោះ៖
ករឣង = (1000,)
ថ្លលឦក់ = (1000)
print(ករឣង)
print(ថ្លលឦក់)
ក្នុងន ោះ។
ល ក់ = (1000) េឺជាបញ្
ថ្លឦ ា ែរមូវឲ្យបនងកើែចំនួនេែ់ន្មោះ ថ្ងលលក្់ មួយ។
អាចដឹងថាវែថុណាមួយជាក្រមងនងរមានធ្លែុតែមួយឬជាវែថុនទល េឺនដាយារក្រមងនងរមាន
ធ្លែុតែមួយមានសញ្ដនក្បៀសនៅជិែន ោះ។
ររមាណវិ ធីបូក្បនត
print(ករឣងវីឣួ ឤ + ករឣងវីឡីឥ)
ររមាណវិ ធីគុនបនត
print(ករឣងណដឣ
ើ * 3)
ករឣងណដើឣ * 3 េឺ ជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្េុនបនតនដាយចមលងយក្ក្រមងនងរន្មោះ
មួយងមីនទៀែ។
ររមាណវិ ធីតក្កវិទា
ករឣងវណវ = ()
print(ករឣងវណវ or ករឣងចំឥុោះ)
print(not ករឣងវណវ)
print(not ករឣងចំឥុោះ)
មតង។
ជារបមាណ្អងគនៅខាងាត។
ំ
េឺជាែក្កវែថុ False ។
ររមាណវិ ធីបររៀបបធៀប
print(ករឣងវីឣួ ឤ == ករឣងវីឡីឥ)
print(ករឣងវីឣួ ឤ != ករឣងវីឡីឥ)
នងរដូចោន។
ទំព័រ 59
ររមាណវិ ធី ក្ធាតុ
ថ្លលឦក់ = 73
print(ថ្លលឦក់ in ករឣងណដឣ
ើ )
ល ក់ in ករឣងណដឣ
ថ្លឦ ើ េឺ ជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធី រក្ធ្លែុ នដើមបីពិនិែយនមើលថានែើ នៅក្នុង
ររមាណវិ ធីអតតសញ្ញាណ
print(ករឣងវីឣួ ឤ is ករឣងវីឡីឥ)
តែមួយតមន។
ររមាណវិ ធីបេខប ៀង
print(ករឣងណដើឣ[2])
ទំព័រ 62
ករឣងណដើឣ[2] េឺជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធីនលខ្នរៀងនដើមបីចមលងយក្ធ្លែុមាននលខ្នរៀង
ររមាណវិ ធីកាត់ចម្លង
print(ករឣងណដឣ
ើ [1:7])
print(ករឣងណដឣ
ើ [1:])
print(ករឣងណដើឣ[:7])
print(ករឣងណដើឣ[:])
print(ករឣងណដឣ
ើ [1:7:2])
ករឣងណដើឣ[1:7] េឺជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធីកាែ់ចមលងនដាយចមលងយក្ធ្លែុមួយចំនួន
ក្រមងនងរមួយងមីនទៀែ។
ករឣងណដឣ
ើ [1:] េឺជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធី កាែ់ចមលងនដាយចមលងយក្ធ្លែុមួយចំនួន
មក្បនងកើែជាក្រមងនងរមួយងមីនទៀែ។
ករឣងណដឣ
ើ [:7] េឺជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធី កាែ់ចមលងនដាយចមលងយក្ធ្លែុមួយចំនួន
ក្រមងនងរមួយងមីនទៀែ។
ទំព័រ 63
ករឣងណដើឣ[:] េឺ ជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធីកាែ់ចមលងនដាយចមលងយក្ធ្លែុទំងអស់តដល
ករឣងណដើឣ[1:7:2] េឺជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធី កាែ់ចមលងនដើមបីចមលងយក្ធ្លែុមួយចំនួន
រហូែ។
កម្មង អឈេរ
មានវែថុជានរចើនែនរមៀបជួរោនតមនលខ្នរៀងចាប់ពីសូនយនឡើងនៅ នបើនយើងរាប់ពីនដើមក្រមង
នដើមបីបនងកើែក្រមងអនងរ នយើងរែូវនធវើដូចខាងនរកាមននោះ៖
print(ករឣងណដឣ
ើ )
ន្មោះថា ក្រមងនដើម ។
ររមាណវិ ធីបូក្បនត
print(ករឣងវីឣួ ឤ + ករឣងវីឡីឥ)
អនងរងមីមួយនទៀែ។
ររមាណវិ ធីគុនបនត
ករឣងណដឣ
ើ = [100, 10.5, "ថ្លលឦក់", True]
print(ករឣងណដើឣ * 3)
ករឣងណដឣ
ើ * 3 េឺ ជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធី េុនបនត នដាយចមលងយក្ក្រមងអនងរន្មោះ
ក្រមងអនងរមួយងមីនទៀែ។
ររមាណវិ ធីតក្កវិទា
ករឣងវណវ = [ ]
print(ករឣងណដឣ
ើ and ករឣងវណវ)
print(ករឣងណដើឣ or ករឣងវណវ)
print(not ករឣងណដើឣ)
print(not ករឣងវណវ)
តែមតង។
not ករឣងណដឣ
ើ េឺជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធី ែក្កវ ិទានដាយនរបើ របមាណ្សញ្ដ not ។
ររមាណវិ ធីបររៀបបធៀប
print(ករឣងវីឣួ ឤ == ករឣងវីឡីឥ)
print(ករឣងវីឣួ ឤ != ករឣងវីឡីឥ)
វច នុរក្ម។ នពាលេឺធ្លែុនៅខាងនឆវងនេបងអស់ថ្នក្រមងអនងរតដលជារបមាណ្អងគនិមួយៗ
ក្រមងអនងរទំងពីរន ោះនឹងរែូវចាែ់ទុក្ថាជាក្រមងអនងរដូចោន។
ររមាណវិ ធី ក្ធាតុ
print(ពាកយ in ករឣងណដឣ
ើ )
ពាកយ in ករឣងណដឣ
ើ េឺ ជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធី រក្ធ្លែុ នដើមបីពិនិែយនមើលថានែើ នៅក្នុង
ររមាណវិ ធីអតតសញ្ញាណ
ករឣងវីឡីឥ = ករឣងវីឣួ ឤ
print(ករឣងវីឣួ ឤ is ករឣងវីឡីឥ)
ទំព័រ 69
print(ករឣងវីឣួ ឤ is ករឣងវីស)ី
តមន។
ររមាណវិ ធីបេខប ៀង
print(ករឣងណដើឣ[-2])
ករឣងណដឣ
ើ [-2] = "នាឣររកូ ឦ"
print(ករឣងណដឣ
ើ )
ករឣងណដឣ
ើ [-2] េឺជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធីនលខ្នរៀងនដើមបីចមលងយក្ធ្លែុមាននលខ្នរៀង
ករឣងណដឣ
ើ [-2] = "នាឣររកូឦ" េឺ ជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធីនលខ្នរៀងនដើមបីជំនួសធ្លែុ
ក្រមងនងរនិងក្រមងអក្េរមិនអាចរែូវនដាោះដូរឬជំនួសនដាយវែថុនផេងនទៀែាននឡើយ។
ការប៉ុនប៉ងនដាោះដូរធ្លែុ នៅក្នុងក្រមងទំងពីរននោះនឹងបណា
ត លឲ្យក្ំហុសនក្ើែមាននឡើង។
េឺជាវែថុ មិនអាចនដាោះដូរាន (immutable) ។ ដូចននោះ នលខ្ ែក្កវែថុ នមា ៈវែថុ ក្រមងអក្េរ និង
ររមាណវិ ធីកាត់ចម្លង
print(ករឣងណដើឣ[1:7])
print(ករឣងណដឣ
ើ [1:])
print(ករឣងណដឣ
ើ [:7])
print(ករឣងណដើឣ[:])
print(ករឣងណដើឣ[1:7:2])
ករឣងណដើឣ[1:7] េឺជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធីកាែ់ចមលងនដាយចមលងយក្ធ្លែុមួយចំនួនពី
ករឣងណដើឣ[1:] េឺជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធី កាែ់ចមលងនដាយចមលងយក្ធ្លែុមួយចំនួនពី
ចុងនេបំផុែ។
ករឣងណដឣ
ើ [:7] េឺជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធី កាែ់ចមលងនដាយចមលងយក្ធ្លែុមួយចំនួនពី
ករឣងណដឣ
ើ [:] េឺ ជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធីកាែ់ចមលងនដាយចមលងយក្ធ្លែុទំងអស់ពីក្ុង
ន
ករឣងណដើឣ[1:7:2] េឺជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធី កាែ់ចមលងនដាយចមលងយក្ធ្លែុមួយចំនួន
ពីក្ុងក្រមងអនងរន្
ន ម ោះ ក្រមងនដើម មក្បនងកើែជាក្រមងអនងរងមីមួយនទៀែ។ ធ្លែុ តដលរែូវ
រ ំលងធ្លែុចំនួនមួយនចាលរហូែ។
កាែ់ចមលងនដើមបីនដាោះដូរធ្លែុរបស់វាមួយចំនួនដូចខាងនរកាមននោះ៖
ករឣងណដើឣ = [100, 1.5, "នាឣ", True, 200, 3.5, "រាក់ចណំ ណញ", "ណោរោនាឣ"]
ករឣងណដើឣ[1:7] = [1, 2, 3, 4, 5, 6]
print(ករឣងណដឣ
ើ )
វែថុតដលរែូវយក្នៅជំនួសធ្លែុនៅក្នុងក្រមងអនងរ អាចជាវែថុតដលជាធ្លែុថ្នក្រមងអនងរណា
ករឣងណដើឣ[1:7] = (1, 2, 3, 4, 5, 6)
print(ករឣងណដើឣ)
ធ្លែុទំងអស់នៅក្នុងក្រមងនងរមួយមក្ជំនួសធ្លែុ មួយចំនួននៅក្នុងក្រមងអនងរន្មោះ
ក្រមងនដើម ។
ទំព័រ 73
វចនានុម្កម
print(រសឧរោិឥូស)
រែូវផ្ទលស់បូរទី
ត តំងានរេប់នពលនវលា។ ម៉ាងនទៀែ ក្ូននារនៅក្នុងធ្លែុេូរែូវតែជាវែថុមិន
នហើយតដលែថ្មលអាចរែូវយក្នៅនរបើការនផេងៗនទៀែាន។
ររមាណវិ ធីបេខប ៀង
print(រសឧរោឥូិ ស["ណោរោនាឣ"])
print(រសឧរោិឥូស["អាឤុ "])
ទំព័រ 74
រសឧរិឥោ ូស["ណោរនា
ោ ឣ"] េឺ ជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធី នលខ្នរៀងនដើមបីចមលងយក្ែថ្មលជាប់នឹង
print(រសឧរោិឥូស)
រសឧរឥិោ ូស["ណោរនា
ោ ឣ"] = "ឦឹឣ" េឺជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធីនលខ្នរៀងនដើមបីជំនួសែថ្មល
វច នុរក្មន្មោះ របវែតិរប
ូ េឺជាក្រមងអក្េរ “លឹម” ។
print(រសឧរោឥូិ ស)
ទំព័រ 75
ររមាណវិ ធីតក្កវិទា
ឧចនាឞុ រកឣវណវ = { }
print(not រសឧរោឥូិ ស)
តែមតង។
ទំព័រ 76
វែថុ False ។
ររមាណវិ ធីបររៀបបធៀប
រសឧរោឥូិ សណដឣ
ើ = {"នាឣ":"កុ សឦ", "ណោរោនាឣ":"កកឧ", "អាឤុ ":35, "ណអវ":"រសរស"}
print(រសឧរោិឥូសណដើឣ == រសឧរោិឥូសចឣលង)
ខាងនលើននោះពិែជាដូចោនតមន។
ទំព័រ 77
វច នុរក្មទំងពីរខាងនលើននោះខ្ុសោនេឺ ខ្ុស។
ររមាណវិ ធីអតតសញ្ញាណ
រសឧរោឥូិ សណដឣ
ើ = {"នាឣ":"កុ សឦ", "ណោរោនាឣ":"កកឧ", "អាឤុ ":35, "ណអវ":"រសរស"}
វច នុរក្មទំងពីរននោះមិនតមនជាវែថុតែមួយនទ។
បញ្
ា ក្់ រាប់ថាវច នុរក្មទំងពីរននោះពិែជាមិនតមនជាវែថុតែមួយតមន។
ររមាណវិ ធី ក្ធាតុ
ពាកយ = "ណោរោនាឣ"
print(ពាកយ in រសឧរោិឥូស)
វច នុរក្មន្មោះ របវែតិរប
ូ មានក្ូននារណាមួយដូចនៅនឹងក្រមងអក្េរន្មោះ ពាក្យ តដរឬ
ន្មោះ របវែតិរប
ូ ពិែជាមានក្ូននារដូចនៅនឹងវែថុន្មោះ ពាក្យ ន ោះតមន។
វច នុរក្មន្មោះ របវែតិរប
ូ ពិែជាោមនក្ូននារណាមួយដូចនៅនឹងក្រមងអក្េរន្មោះ ពាក្យ
ខ្ុស។
សាំណុាំ
ទំព័រ 79
ថ្លៃកុ ងសា
ន ោ ហ៍ = {"ច័ឞ"ទ , "អងាគឥ", "ឡុ ឝ", "រឡហសបរិ៍", "សុ រក", "ណៅឥ ិ៍", "អាវិរយ"}
print(ថ្លៃកុ ងសា
ន ោ ហ៍ )
ថ្លក
ៃ ុ ងសា
ន ោ ហ៍ = {"ច័ឞ"ទ , "អងាគឥ", "ឡុឝ", "រឡហសបរ"ិ៍ , "សុរក", "ណៅឥ"ិ៍ , "អាវិរយ"} េឺ ជាបញ្
ា
ែរមូវឲ្យបនងកើែសំណ្ុំមួយមានន្មោះថា ថ្ងៃក្ុងសា
ន ត ហ៍ ។
ផ្ទលស់បូរទី
ត តំងានរេប់នពលនវលា។ ម៉ាងនទៀែធ្លែុរបស់សំណ្ុំរែូវតែជាវែថុមិនអាចនដាោះដូរ
អាចដូចោនាននឡើយ ធ្លែុតដលដូចោននឹងរែូវបរងួមមក្ឲ្យនៅតែមួយ។
ររមាណវិ ធីដក្ធាតុ
រសមាណឧឝ
ិ ដកធារ
ី ុ (differentiation) េឺជារបមាណ្វ ិធី ទំងឡាយណាតដលនៅក្នុងន ោះមាន
ការនរបើរាស់របមាណ្សញ្ដដក្នដើមបីចមលងយក្សំណ្ុំណាមួយមក្ដក្ធ្លែុតដលដូចនៅនឹង
ធ្លែុថ្នសំណ្ុំណាមួយនទៀែនចញ ក្នុងនោលបំណ្ងបនងកើែសំណ្ុំងមីមួយនទៀែ។
នយើងអាចយក្សំណ្ុំនផេងៗមក្នធវើរបមាណ្វ ិធីដក្ធ្លែុដូចខាងនរកាមននោះ៖
ថ្លៃកុ ងសា
ន ោ ហ៍ = {"ច័ឞ"ទ , "អងាគឥ", "ឡុ ឝ", "រឡហសបរិ៍", "សុ រក", "ណៅឥ ិ៍", "អាវិរយ"}
ថ្លៃណឝវកាឥ
ើ = ថ្លៃកុ ងសា
ន ោ ហ៍ - ថ្លៃឈស់
print(ថ្លៃណឝវកាឥ)
ើ
ថ្លណៃ ឝកាឥ
ើវ = ថ្លក
ៃ ុ ងសា
ន ោ ហ៍ - ថ្លឈ
ៃ ស់ េឺ ជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធីដក្ធ្លែុ នដាយចមលង
យក្សំណ្ុំន្មោះ ថ្ងៃក្ុងសា
ន ត ហ៍ មក្ដក្ធ្លែុ តដលដូចនៅនឹងធ្លែុ ថ្នសំណ្ុំន្មោះ ថ្ងៃឈប់
ររមាណវិ ធីររជុំ
នទៀែ។
នយើងអាចយក្សំណ្ុំនផេងៗមក្នធវើរបមាណ្វ ិធីរបជុំដូចខាងនរកាមននោះ៖
ថ្លៃកុ ងសា
ន ោ ហ៍ = {"ច័ឞ"ទ , "អងាគឥ", "ឡុ ឝ", "រឡហសបរិ៍", "សុ រក", "ណៅឥ ិ៍", "អាវិរយ"}
print(ថ្លៃឆ្ន ំ)
ៃ ន ំ = ថ្លក
ថ្លឆ្ ៃ ុ ងសា
ន ោ ហ៍ | ឆ្ន ំ េឺ ជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធី របជុំ នដាយចមលងយក្ធ្លែុនៅ
ក្នុងសំណ្ុំន្មោះ ថ្ងៃក្ុងសា
ន ត ហ៍ និ ងធ្លែុ នៅក្នុងសំណ្ុំន្មោះ ឆ្នំ មក្របជុំោនបនងកើែជាសំណ្ុំងមី
មួយនទៀែមានន្មោះថា ថ្ងៃឆ្នំ ។
ទំព័រ 81
ថ្លៃកុ ងសា
ន ោ ហ៍ = {"ច័ឞ"ទ , "អងាគឥ", "ឡុ ឝ", "រឡហសបរិ៍", "សុ រក", "ណៅឥ ិ៍", "អាវិរយ"}
ឆ្ន ំថ្លឈ
ៃ ស់ = {2009, 2008, "ណៅឥ ិ៍", "អាវិរយ"}
print(ថ្លៃឆ្ន ំ)
ៃ ន ំ = ថ្លក
ថ្លឆ្ ៃ ុ ងសា
ន ោ ហ៍ | ឆ្នថ្ល
ំ ឈៃ ស់ េឺ ជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធីរបជុំ នដាយចមលងយក្
ធ្លែុនៅក្នុងសំណ្ុំន្មោះ ថ្ងៃក្ុងសា
ន ត ហ៍ និងធ្លែុនៅក្នុងសំណ្ុំន្មោះ ឆ្នំថ្ងៃឈប់ មក្របជុំោន
បនងកើែជាសំណ្ុំមួយនទៀែមានន្មោះថា ថ្ងៃឆ្នំ ។
ប៉ុនណាណោះ។
នដាយនហែុថានៅក្នុងសំណ្ុំមិនអាចមានធ្លែុដូចោនាន ក្តតននោះនធវើឲ្យសំណ្ុំមានលក្ខណ្ៈ
ថ្លៃកុ ងសា
ន ោ ហ៍ = {"ច័ឞ"ទ , "អងាគឥ", "ឡុ ឝ", "រឡហសបរិ៍", "សុ រក", "ណៅឥ ិ៍", "អាវិរយ", "ច័ឞ"ទ }
សាោហ៍ = ["ច័ឞ"ទ , "អងាគឥ", "ឡុ ឝ", "រឡហសបរិ៍", "សុ រក", "ណៅឥ ិ៍", "អាវិរយ", "ច័ឞ"ទ ]
print(ថ្លៃកុ ងសា
ន ោ ហ៍ )
print(សាោហ៍ )
ថ្លក
ៃ ុ ងសា
ន ោ ហ៍ = {"ច័ឞ"ទ , "អងាគឥ", "ឡុឝ", "រឡហសបរ"ិ៍ , "សុរក", "ណៅឥ"ិ៍ , "អាវិរយ", "ច័ឞ"ទ } េឺ ជា
បញ្
ា ែរមូវឲ្យបនងកើែសំណ្ុំន្មោះ ថ្ងៃក្ុងសា
ន ត ហ៍ តដលមានធ្លែុជាក្រមងអក្េរ “ច័នទ” ចំនួនពីរ
ទំងអស់នៅក្នុងន ោះរែូវានផ្ទលស់បូរទី
ត តំង នហើែធ្លែុតដលជាក្រមងអក្េរ “ច័នទ” មានតែមួយ
ប៉ុនណាណោះ។
សាោហ៍ = ["ច័ឞ"ទ , "អងាគឥ", "ឡុឝ", "រឡហសបរ"ិ៍ , "សុរក", "ណៅឥ"ិ៍ , "អាវិរយ", "ច័ឞ"ទ ] េឺ ជាបញ្
ា
“ច័នទ” នៅតែមានចំនួនពីរដតដល។
ររមាណវិ ធីររសព្វ
សំណ្ុំងមីមួយនទៀែ។
នយើងអាចយក្សំណ្ុំនផេងៗមក្នធវើរបមាណ្វ ិធីរបសពវដូចខាងនរកាមននោះ៖
ថ្លៃកុ ងសា
ន ោ ហ៍ = {"ច័ឞ"ទ , "អងាគឥ", "ឡុ ឝ", "រឡហសបរិ៍", "សុ រក", "ណៅឥ ិ៍", "អាវិរយ"}
ទំព័រ 83
ឆ្ន ំថ្លឈ
ៃ ស់ = {2009, 2008, "ណៅឥ ិ៍", "អាវិរយ"}
print(ធារុ ដូចោន)
ធារុដូចោន = ថ្លក
ៃ ុ ងសា
ន ោ ហ៍ & ឆ្នថ្ល
ំ ឈៃ ស់ េឺ ជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធី របសពវ នដាយ
មក្បនងកើែជាសំណ្ុំមួយងមីនទៀែមានន្មោះថា ធ្លែុដូចោន ។
ររមាណវិ ធីររជុំធាតុខុសគ្នា
មក្បនងកើែជាសំណ្ុំងមីមួយនទៀែ។
ថ្លៃកុ ងសា
ន ោ ហ៍ = {"ច័ឞ"ទ , "អងាគឥ", "ឡុ ឝ", "រឡហសបរិ៍", "សុ រក", "ណៅឥ ិ៍", "អាវិរយ"}
ឆ្ន ំថ្លឈ
ៃ ស់ = {2009, 2008, "ណៅឥ ិ៍", "អាវិរយ"}
print(ធារុ ខុសោន)
ធារុខុសោន = ថ្លក
ៃ ុ ងសា
ន ោ ហ៍ ^ ឆ្នថ្ល
ំ ឈៃ ស់ េឺ ជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធី របជុំធ្លែុខ្ុសោន
នដាយចមលងយក្ធ្លែុខ្ុសោននៅក្នុងសំណ្ុំន្មោះ ថ្ងៃក្ុងសា
ន ត ហ៍ និ ងនៅក្នុងសំណ្ុំន្មោះ
ររមាណវិ ធីតក្កវិទា
ថ្លៃកុ ងសា
ន ោ ហ៍ = {"ច័ឞ"ទ , "អងាគឥ", "ឡុ ឝ", "រឡហសបរិ៍", "សុ រក", "ណៅឥ ិ៍", "អាវិរយ"}
សំណុំវណវ = set()
print(ថ្លៃកុ ងសា
ន ោ ហ៍ and សំណុំវណវ)
print(ថ្លៃកុ ងសា
ន ោ ហ៍ or សំណុំវណវ)
print(not សំណុំវណវ)
ថ្លក
ៃ ុ ងសា
ន ោ ហ៍ and សណ
ំ ុ ំ វណវ េឺ ជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធីែក្កវ ិទា នដាយនរបើរបមាណ្
សំណ្ុំទនទ នរពាោះវាជារបមាណ្អងគនៅខាងាត។
ំ
ថ្លក
ៃ ុ ងសា
ន ោ ហ៍ or សណ
ំ ុ ំ វណវ េឺជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធី ែក្កវ ិទា នដាយនរបើរបមាណ្
។
ទំព័រ 85
not ថ្លក
ៃ ុ ងសា
ន ោ ហ៍ េឺ ជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធី ែក្កវ ិទានដាយនរបើ របមាណ្សញ្ដ not
ជាមួយនឹងសំណ្ុំន្មោះ ថ្ងៃក្ុងសា
ន ត ហ៍ ។ នដាយសំណ្ុំននោះជាសំណ្ុំមានធ្លែុនៅក្នុងន ោះ
False ។
ំ ុ ំ វណវ េឺជាបញ្
not សណ ា ែរមូវឲ្យនធវើរបមាណ្វ ិធី ែក្កវ ិទានដាយនរបើ របមាណ្សញ្ដ not
ជាមួយនឹងសំណ្ុំន្មោះ ថ្ងៃក្ុងសា
ន ត ហ៍ ។ នដាយសំណ្ុំននោះជាសំណ្ុំទនទ ដូចននោះវាសមមូល
ររមាណវិ ធីបររៀបបធៀប
នយើងអាចយក្សំណ្ុំនផេងៗមក្នធវើរបមាណ្វ ិធីនរបៀបនធៀបដូចខាងនរកាមននោះ៖
ថ្លៃកុ ងសា
ន ោ ហ៍ = {"ច័ឞ"ទ , "អងាគឥ", "ឡុ ឝ", "រឡហសបរិ៍", "សុ រក", "ណៅឥ ិ៍", "អាវិរយ"}
print(ថ្លៃកុ ងសា
ន ោ ហ៍ == ថ្លៃសរមាក)
print(ថ្លៃកុ ងសា
ន ោ ហ៍ != ថ្លៃសរមាក)
print(ថ្លៃកុ ងសា
ន ោ ហ៍ > ថ្លៃសរមាក)
print(ថ្លៃកុ ងសា
ន ោ ហ៍ < ថ្លៃសរមាក)
print(ថ្លៃកុ ងសា
ន ោ ហ៍ >= ថ្លៃសរមាក)
print(ថ្លៃកុ ងសា
ន ោ ហ៍ <= ថ្លៃសរមាក)
ម៉ាងដូចែនៅននោះ៖
ទំព័រ 86
ថ្លក
ៃ ុ ងសា
ន ោ ហ៍ == ថ្លស
ៃ រមាក េឺ ជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធី នរបៀបនធៀបនដើ មបីពិនិែយនមើល
ថានែើសំណ្ុំន្មោះ ថ្ងៃក្ុងសា
ន ត ហ៍ និងសំណ្ុំន្មោះ ថ្ងៃសរមាក្ មានចំនួនធ្លែុ នសមើោននិងដូច
សំណ្ុំទំងពីរននោះោមនធ្លែុមានចំនួននសមើោននិងដូចោនទំងអស់ន ោះនទ។
ថ្លក
ៃ ុ ងសា
ន ោ ហ៍ != ថ្លស
ៃ រមាក េឺជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធីនរបៀបនធៀបនដើមបីពិនិែយនមើល
ថានែើសំណ្ុំន្មោះ ថ្ងៃក្ុងសា
ន ត ហ៍ និងសំណ្ុំន្មោះ ថ្ងៃសរមាក្ មានចំនួនធ្លែុ ខ្ុសោននិងឬ
ទំងពីរននោះពិែជាមានធ្លែុមានចំនួនខ្ុសោននិងឬមានធ្លែុខ្ុសោនតមន។
ថ្លក
ៃ ុ ងសា
ន ោ ហ៍ > ថ្លស
ៃ រមាក េឺ ជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធី នរបៀបនធៀបនដើមបីពិនិែយនមើលថា
នែើសំណ្ុំន្មោះ ថ្ងៃក្ុងសា
ន ត ហ៍ ជា សំណ្ុំនម (superset) ថ្នសំណ្ុំន្មោះ ថ្ងៃសរមាក្ តមនតដរ
ថ្ងៃក្ុងសា
ន ត ហ៍ ពិែជាសំណ្ុំនមថ្នសំណ្ុំន្មោះ ថ្ងៃសរមាក្ តមន។
សំណ្ុំន្មោះ ថ្ងៃក្ុងសា
ន ត ហ៍ ជាសំណ្ុំនមថ្នសំណ្ុំន្មោះ ថ្ងៃសរមាក្ មានន័យថាសំណ្ុំ
ន្មោះ ថ្ងៃក្ុងសា
ន ត ហ៍ មានធ្លែុនរចើនជាងសំណ្ុំន្មោះ ថ្ងៃសរមាក្ នហើយធ្លែុទំងអស់ថ្ន
ថ្លក
ៃ ុ ងសា
ន ោ ហ៍ < ថ្លស
ៃ រមាក េឺ ជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធី នរបៀបនធៀបនដើមបីពិនិែយនមើលថា
នែើសំណ្ុំន្មោះ ថ្ងៃក្ុងសា
ន ត ហ៍ ជា សំណ្ុំរង (subset) ថ្នសំណ្ុំន្មោះ ថ្ងៃសរមាក្ តមនតដរឬ
ថ្ងៃក្ុងសា
ន ត ហ៍ មិ នតមនជាសំណ្ុំរងថ្នសំណ្ុំន្មោះ ថ្ងៃសរមាក្ នទ។
ទំព័រ 87
សំណ្ុំន្មោះ ថ្ងៃក្ុងសា
ន ត ហ៍ ជាសំណ្ុំរងថ្នសំណ្ុំន្មោះ ថ្ងៃសរមាក្ មានន័យថាសំណ្ុំ
សំណ្ុំន្មោះ ថ្ងៃក្ុងសា
ន ត ហ៍ មាននៅក្នុងសំណ្ុំន្មោះ ថ្ងៃសរមាក្ ។
ថ្លក
ៃ ុ ងសា
ន ោ ហ៍ >= ថ្លស
ៃ រមាក េឺជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធី នរបៀបនធៀបនដើមបីពិនិែយនមើល
ថានែើសំណ្ុំន្មោះ ថ្ងៃក្ុងសា
ន ត ហ៍ ជាសំណ្ុំនមថ្នសំណ្ុំន្មោះ ថ្ងៃសរមាក្ ឬដូចនៅនឹងសំណ្ុំ
បញ្
ា ក្់ រាប់ថាសំណ្ុំន្មោះ ថ្ងៃក្ុងសា
ន ត ហ៍ ពិ ែជាសំណ្ុំនមថ្នសំណ្ុំន្មោះ ថ្ងៃសរមាក្ ឬដូច
ថ្លក
ៃ ុ ងសា
ន ោ ហ៍ <= ថ្លស
ៃ រមាក េឺជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធី នរបៀបនធៀបនដើមបីពិនិែយនមើល
ថានែើសំណ្ុំន្មោះ ថ្ងៃក្ុងសា
ន ត ហ៍ ជាសំណ្ុំរងថ្នសំណ្ុំន្មោះ ថ្ងៃសរមាក្ ឬដូចនៅនឹងសំណ្ុំ
បញ្
ា ក្់ រាប់ថាសំណ្ុំន្មោះ ថ្ងៃក្ុងសា
ន ត ហ៍ មិ នតមនជាសំណ្ុំរងថ្នសំណ្ុំន្មោះ ថ្ងៃសរមាក្
ររមាណវិ ធី ក្ធាតុ
នយើងអាចយក្សំណ្ុំនផេងៗមក្នធវើរបមាណ្វ ិធីរក្ធ្លែុដូចខាងនរកាមននោះ៖
ថ្លៃកុ ងសា
ន ោ ហ៍ = {"ច័ឞ"ទ , "អងាគឥ", "ឡុ ឝ", "រឡហសបរិ៍", "សុ រក", "ណៅឥ ិ៍", "អាវិរយ"}
ថ្លៃរកហឣ = "អាវិរយ"
នៅក្នុងសំណ្ុំន្មោះ ថ្ងៃក្ុងសា
ន ត ហ៍ មានធ្លែុណាមួយដូចនៅនឹងវែថុន្មោះ ថ្ងៃរក្ហម តដរ
ន្មោះ ថ្ងៃក្ុងសា
ន ត ហ៍ ពិែជាមានធ្លែុ ណាមួយដូចនៅនឹងវែថុន្មោះ ថ្ងៃរក្ហម ន ោះតមន។
នែើនៅក្នុងសំណ្ុំន្មោះ ថ្ងៃក្ុងសា
ន ត ហ៍ ពិ ែជាោមនធ្លែុណាមួយដូចនៅនឹងវែថុន្មោះ
ថារបការតដលថានៅក្នុងសំណ្ុំន្មោះ ថ្ងៃក្ុងសា
ន ត ហ៍ ោមនធ្លែុណាមួយដូចនៅនឹងវែថុន្មោះ
ររមាណវិ ធីអតតសញ្ញាណ
នយើងអាចយក្សំណ្ុំនផេងៗមក្នធវើរបមាណ្វ ិធីអែតសញ្ដណ្ដូចខាងនរកាមននោះ៖
ថ្លៃកុ ងសា
ន ោ ហ៍ = {"ច័ឞ"ទ , "អងាគឥ", "ឡុ ឝ", "រឡហសបរិ៍", "សុ រក", "ណៅឥ ិ៍", "អាវិរយ"}
ថ្លៃទ ំងរា ំឡីឥ = {"ច័ឞ"ទ , "អងាគឥ", "ឡុ ឝ", "រឡហសបរិ៍", "សុ រក", "ណៅឥ ិ៍", "អាវិរយ"}
print(ថ្លៃកុ ងសា
ន ោ ហ៍ is ថ្លៃទ ំងរា ំឡីឥ)
print(ថ្លៃកុ ងសា
ន ោ ហ៍ is not ថ្លៃទ ំងរា ំឡីឥ)
ថ្លក
ៃ ុ ងសា
ន ោ ហ៍ is ថ្លទ ំ
ៃ ងរា ំ ី ឥ េឺ ជាបញ្
ឡ ា ែរមូវឲ្យនធវើរបមាណ្វ ិធី អែតសញ្ដណ្នដើមបីពិនិែយ
នមើលថានែើសំណ្ុំន្មោះ ថ្ងៃក្ុងសា
ន ត ហ៍ និ ងសំណ្ុំន្មោះ ថ្ងៃទំងរាំពីរ ជាវែថុតែមួយតមនតដរ
មិនតមនជាវែថុតែមួយនទ េឺ វារោន់តែជាវែថុដូចោនតែប៉ុនណាណោះ។
ទំព័រ 89
ថ្លក
ៃ ុ ងសា
ន ោ ហ៍ is not ថ្លទ ំ
ៃ ងរា ំ ី ឥ េឺ ជាបញ្
ឡ ា ែរមូវឲ្យនធវើរបមាណ្វ ិធីអែតសញ្ដណ្នដើមបី
ពិនិែយនមើលថានែើសំណ្ុំន្មោះ ថ្ងៃក្ុងសា
ន ត ហ៍ និងសំណ្ុំន្មោះ ថ្ងៃទំងរាំពីរ ពិែជាមិនតមន
ថាសំណ្ុំទំងពីរន ោះពិែជាមិនតមនជាវែថុតែមួយតមន។
ននោះ៖
ថ្លៃកុ ងសា
ន ោ ហ៍ = ("ច័ឞ"ទ , "អងាគឥ", "ឡុ ឝ", "រឡហសបរិ៍", "សុ រក", "ណៅឥ ិ៍", "អាវិរយ")
ឧមាររ
ិ = ["សណតោ ឤ", "វវឹង", "កំឡស់"]
print(ករឣងណលឥចរឣរោះ)
print(ករឣងអណលឥចរឣរោះ)
print(ឧចនាឞុ រកឣចរឣរោះ)
print(សំណុំចរឣរោះ)
ទំព័រ 90
ករឣងណលឥចរឣរោះ = (ថ្លក
ៃ ុ ងសា
ន ោ ហ៍, ឧមាររ
ិ ំ ុ ំ រួណឦខ) េឺ ជាបញ្
, រសឧរិឥោ ូស, សណ ា ែរមូវឲ្យបនងកើែ
ករឣងអណលឥចរឣរោះ = [ថ្លក
ៃ ុ ងសា
ន ោ ហ៍, ឧមាររ
ិ ំ ុ ំ រួណឦខ] េឺ ជាបញ្
, រសឧរិឥោ ូស, សណ ា ែរមូវឲ្យ
ថ្ងៃក្ុងសា
ន ត ហ៍ ក្រមងអនងរន្មោះ វ ិមារែ វច នុរក្មន្មោះ របវែតិរប
ូ និងសំណ្ុំន្មោះ
សំណ្ុំែួនលខ្ ។
ឧចនាឞុរកឣចរឣរោះ = {1:ថ្លក
ៃ ុ ងសា
ន ោ ហ៍, 2:ឧមាររ
ិ ំ ុ ំ រួណឦខ} េឺ ជាបញ្
, 3:រសឧរឥិ ោ ូស, 4:សណ ា
ន្មោះ ថ្ងៃក្ុងសា
ន ត ហ៍ ក្រមងអនងរន្មោះ វ ិមារែ វច នុ រក្មន្មោះ របវែតិរប
ូ និងសំណ្ុំ
ំ ុ ំ ចរឣរោះ = {ថ្លក
សណ ៃ ុ ងសា
ន ោ ហ៍} េឺ ជាបញ្
ា ែរមូវឲ្យបនងកើែសំណ្ុំន្មោះ សំណ្ុំចរមរោះ មួយតដល
មានធ្លែុជាក្រមងនងរន្មោះ ថ្ងៃក្ុងសា
ន ត ហ៍ ។
នរៅតែក្រមងនងរនិងឬក្រមងអក្េរ នយើងមិនអាចយក្សមាសវែថុណានផេងមក្នធវើជាធ្លែុថ្ន
សំណ្ុំាននឡើយ។
ក្នុងក្រណ្ីសមាសវែថុមួយមានធ្លែុជាសមាសវវែថុនផេងៗនទៀែ នដើមបីចមលងយក្ធ្លែុឬែថ្មលថ្ន
សមាសវែថុតដលជាធ្លែុយក្មក្នរបើ នយើងរែូវនធវើដូចខាងនរកាមននោះ៖
ថ្លៃកុ ងសា
ន ោ ហ៍ = ("ច័ឞ"ទ , "អងាគឥ", "ឡុ ឝ", "រឡហសបរិ៍", "សុ រក", "ណៅឥ ិ៍", "អាវិរយ")
ទំព័រ 91
ឧមាររ
ិ = ["សណតោ ឤ", "វវឹង", "កំឡស់"]
print(ករឣងណលឥចរឣរោះ[1][-1])
print(ករឣងអណលឥចរឣរោះ[2]["នាឣររកូ ឦ"])
print(ករឣងណលឥចរឣរោះ[1][-1]) េឺ ជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធី នលខ្នរៀងនដើមបីចមលងយក្ធ្លែុ
ក្រមងនងរន្មោះ ក្រមងនងរចរមរោះ ។
print(ករឣងអណលឥចរឣរោះ[2]["នាឣររកូឦ"]) េឺជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធី នលខ្នរៀងនដើមបី
print(ឧចនាឞុរកឣចរឣរោះ[3]["អាឤុ"]) េឺ ជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធីនលខ្នរៀងនដើមបីចមលង
ររដេទននបញ្ជ
ា
បញ្ជ
ា ចត្់ត ាំង
បញ្
ា ចាែ់តំង (assignment statement) េឺជាសញ្ដ = តដលជាបញ្
ា ែរមូវឲ្ភាាប់ន្មោះណា
នយើងរែូវសរនសរក្មមវ ិធីដូចខាងនរកាមននោះ៖
រាក់ចណំ ណញ = 1000
print(រាក់ចណំ ណញ)
នលខ្ 1000 ។
នរៅពីការចាែ់តំងន្មោះមួយឲ្យដំណាងឲ្យវែថុមួយ នយើងអាចចាែ់តំងន្មោះជានរចើនឲ្យ
ដំណាងឲ្យវែថុនផេងៗោននដាយសរនសរក្មមវ ិធីដូចខាងនរកាមននោះ៖
print(ថ្លលឦក់)
print(ថ្លលវិញ)
print(រាក់ចណំ ណញ)
ទំព័រ 93
ល ក,់ ថ្លវ
ថ្លឦ ល ិ ញ, រាក់ចណំ ណញ = 1000, 900, 100 េឺជាការចាែ់តំងន្មោះ ថ្ងលលក្់ , ថ្ងលទិញ,
(1000, 900, 100) ។ ដូចននោះការសរនសរ ថ្ងលលក្់, ថ្ងលទិញ, រាក្់ចំនណ្ញ = 1000, 900, 100
នងរមួយឲ្យដំណាងឲ្យវែថុនៅក្នុងក្រមងនងរមួយនទៀែ។
print(ថ្លលឦក់)
print(វវឹង)
print(នាឣររកូ ឦ)
ល ក,់ ថ្លវ
[ថ្លឦ ល ិ ញ, រាក់ចណំ ណញ] = [1000, 900, 100] េឺជាការចាែ់តំងន្មោះនៅក្នុងក្រមង
ល ក,់ ថ្លវ
អនងរ [ថ្លឦ ល ិញ, រាក់ចណំ ណញ] ឲ្យដំណាងឲ្យវែថុនៅក្នុងក្រមងអនងរ [1000, 900,
100] នរៀងោន។
ទំព័រ 94
ោន។
នដាយសរនសរក្មមវ ិធីដូចខាងនរកាមននោះ៖
សណតោ ឤ = 173.5
រសកឧង = 200
print(សណតោ ឤ)
print(រសកឧង)
នរៅពីការចាែ់តំងន្មោះមួយឲ្យដំណាងឲ្យវែថុមួយ នយើងអាចចាែ់តំងន្មោះជានរចើនឲ្យ
ដំណាងឲ្យវែថុតែមួយនដាយសរនសរក្មមវ ិធីដូចខាងនរកាមននោះ៖
print(កថ្រឣ)
print(រាក់ឥកាឞ)
print(រាក់ចណំ ណញ)
ទំព័រ 95
ក្ថ្រម
រាក្់រក្ាន 1000
រាក្់ចំនណ្ញ
សវ័យររមាណវិ ធី
ថ្លលឦក់ = 1000
ថ្លលឦក់ = ថ្លលឦក់ + 1
print(ថ្លលឦក់)
ល ក់ = ថ្លឦ
ថ្លឦ ល ក់ + 1 េឺ ជាបញ្
ា ែរមូវឲ្យចមលងយក្វែថុន្មោះ ថ្ងលលក្់ មក្បូក្នឹង 1 បនងកើែជា
យនតការនាសសមាអែ។
ថ្ងលលក្់ 1000
1001
ទំព័រ 96
សរនសរតមរនបៀបម៉ាងនទៀែដូចខាងនរកាមននោះ៖
ថ្លលឦក់ = 1000
ថ្លលឦក់ += 1
print(ថ្លលឦក់)
ល ក់ += 1 េឺ ជាបញ្
ថ្លឦ វ របមាណ្វ ិធី នដើមបីបនងកើែវែថុន្មោះ ថ្ងលលក្់ ងមីតដលធំ
ា ែរមូវឲ្យនធវើស័យ
ជាងមុន 1 ។
មិនតមនជាការយក្វែថុដតដលមក្តក្តរបនឡើយ។
នដាយនរបើរបមាណ្សញ្ដនផេងៗនទៀែដូចខាងនរកាមននោះ៖
ថ្លលឦក់ = 1000
ទំព័រ 97
ថ្លលឦក់ += 2
ថ្លលឦក់ -= 2
ថ្លលឦក់ *= 2
ថ្លលឦក់ /= 2
ថ្លលឦក់ //= 2
ថ្លលឦក់ %= 2
ថ្លលឦក់ **= 2
ល ក់ += 2 េឺ ជាបញ្
ថ្លឦ វ របមាណ្វ ិធី នដើមបីបនងកើែវែថុន្មោះ ថ្ងលលក្់ ងមីធំជាង
ា ែរមូវឲ្យនធវើស័យ
មុន 2 ។
ល ក់ -= 2 េឺជាបញ្
ថ្លឦ វ របមាណ្វ ិធី នដើមបីបនងកើែវែថុន្មោះ ថ្ងលលក្់ ងមីែូចជាង
ា ែរមូវឲ្យនធវើស័យ
មុន 2 ។
ល ក់ *= 2 េឺ ជាបញ្
ថ្លឦ វ របមាណ្វ ិធី នដើមបីបនងកើែវែថុន្មោះ ថ្ងលលក្់ ងមីធំជាងមុន
ា ែរមូវឲ្យនធវើស័យ
2 ដង។
ល ក់ /= 2 េឺ ជាបញ្
ថ្លឦ វ របមាណ្វ ិធី នដើមបីបនងកើែវែថុន្មោះ ថ្ងលលក្់ ងមីែូចជាង
ា ែរមូវឲ្យនធវើស័យ
មុន 2 ដង។
ល ក់ //= 2 េឺជាបញ្
ថ្លឦ វ របមាណ្វ ិធី នដើមបីបនងកើែវែថុន្មោះ ថ្ងលលក្់ ងមីតដលជា
ា ែរមូវឲ្យនធវើស័យ
ល ក់ %= 2 េឺ ជាបញ្
ថ្លឦ វ របមាណ្វ ិធីនដើមបីបនងកើែវែថុន្មោះ ថ្ងលលក្់ ងមីតដលជា
ា ែរមូវឲ្យនធវើស័យ
2។
ទំព័រ 98
ល ក់ **= 2 េឺ ជាបញ្
ថ្លឦ វ របមាណ្វ ិធីនដើមបីបនងកើែវែថុន្មោះ ថ្ងលលក្់ ងមីតដលជា
ា ែរមូវឲ្យនធវើស័យ
ឃ្លលណដើឣ = "រក់ៗ"
ឃ្លលណដឣ ់
ើ += "ណឡញសំឡង\t"
print(ឃ្លលណដឣ
ើ )
ឃ្លលណដើឣ *= 3
print(ឃ្លលណដើឣ)
ំ ង់\t" េឺ ជាបញ្
ឃ្លលណដើឣ += "ណឡញសឡ វ របមាណ្វ ិធី នដើមបីបនងកើែក្រមងអក្េរ
ា ែរមូវឲ្យនធវើស័យ
ងមីមួយតដលជាឃ្លលតវងជាងមុន 3 ដង។
print(ករឣងចរឣរោះ)
ករឣងចរឣរោះ *= 3
print(ករឣងចរឣរោះ)
print(ករឣងចរឣរោះ)
ករឣងចរឣរោះ *= 3
print(ករឣងចរឣរោះ)
វ របមាណ្វ ិធីក្ុងនោលបំ
ក្៍ប៉ុតនតនបើនយើងចង់យក្ក្រមងអនងរមក្នធវើស័យ ន ណ្ងយក្ក្រមងអនងរ
print(ករឣងចរឣរោះ)
ទំព័រ 100
ករឣងចរឣរោះ = ករឣងចរឣរោះ * 3
print(ករឣងចរឣរោះ)
វ របមាណ្វ ិធីដូចខាងនរកាមននោះ៖
ដូចោនតដរ នយើងអាចយក្សំណ្ុំនផេងៗមក្នធវើស័យ
print(សំណុំចរឣរោះ)
print(សំណុំចរឣរោះ)
print(សំណុំចរឣរោះ)
print(សំណុំចរឣរោះ)
វ របមាណ្វ ិធីតមរនបៀបដូចខាងនលើននោះ េឺ ជា
ចំនពាោះសំណ្ុំក្៍ ដូចជាក្រមងអនងរតដរ ការនធវើស័យ
ងមី នយើងរែូវនធវើតមរនបៀបដូចខាងនរកាមននោះ៖
print(សំណុំចរឣរោះ)
print(សំណុំចរឣរោះ)
print(សំណុំចរឣរោះ)
print(សំណុំចរឣរោះ)
ំ ុ ំ ចរឣរោះ = សណ
សណ ំ ុ ំ ចរឣរោះ - {50, 4, True} េឺ ជាបញ្ វ របមាណ្វ ិធីនដើមបីបនងកើែ
ា ែរមូវឲ្យនធវើស័យ
ំ ុ ំ ចរឣរោះ = សណ
សណ ំ ុ ំ ចរឣរោះ | {50, 4, True} េឺ ជាបញ្ វ របមាណ្វ ិធីនដើមបីបនងកើែ
ា ែរមូវឲ្យនធវើស័យ
ំ ុ ំ ចរឣរោះ = សណ
សណ ំ ុ ំ ចរឣរោះ & {50, 4, True} េឺ ជាបញ្ វ របមាណ្វ ិធី នដើមបី
ា ែរមូវឲ្យនធវើស័យ
ំ ុ ំ ចរឣរោះ = សណ
សណ ំ ុ ំ ចរឣរោះ ^ {50, 4, True} េឺ ជាបញ្ វ របមាណ្វ ិធីនដើមបីបនងកើែ
ា ែរមូវឲ្យនធវើស័យ
សណតោ ឤ = 150
វវឹង = 23
កំឡស់ = 15
print(មាឌ)
រវាងវែថុចំនួនបីេឺ បនណា
ត យ ទទឹង និង ក្ំពស់ ។
ទំព័រ 103
បញ្ជ
ា if
ថ្លលឦក់ = 1000
ថ្លលវិញ = 900
print(រាក់ចណំ ណញ)
ល ក់ > ថ្លវ
if ថ្លឦ ល ិ ញ : េឺជាការនរបើបញ្
ា if ែរមូវឲ្យអនុវែតបញ្
ា ពីរនទៀែនៅខាងនរកាមន ោះក្នុង
ល ក់ > ថ្លវ
ក្រណ្ីក្ននាមរបមាណ្វ ិធី ថ្លឦ ល ិ ញ ផតល់លទធផលជាែក្កវែថុ True ។ នបើ ពុំន ោះនាែ
នទ បញ្
ា ទំងពីរន ោះនឹងរែូវរ ំលងនចាល។ នដាយ ថ្ងលលក្់ ជានលខ្ 1000 និង ថ្ងលទិញ ជានលខ្
ល ក់ > ថ្លវ
900 ដូចននោះក្ននាមរបមាណ្វ ិធី ថ្លឦ ល ិញ ផតល់លទធផលជាែក្កវែថុ True តដល ំឲ្យ
បញ្
ា ទំងពីរនៅខាងនរកាមន ោះរែូវានយក្នៅអនុវែត។
True ។ បញ្
ា ទំងន ោះរែូវតែសរនសរចូលប ទ ែ់ នដើមបីបញ្
ា ក្់ រាប់ថាវាជាបញ្
ា នៅក្នុងបញ្
ា
រក្រមបញ្
ា (block) សថិែនៅក្នុងបញ្
ា if ។ ដូចននោះរក្រមបញ្
ា សថិែនៅក្នុងបញ្
ា if រែូវយក្នៅ
ក្មមវ ិធីខាងនរកាមននោះ៖
ថ្លលឦក់ = 900
ថ្លលវិញ = 900
print(រាក់ចណំ ណញ)
ល ក់ > ថ្លវ
if ថ្លឦ ល ិ ញ : េឺជាការនរបើបញ្
ា if ែរមូវឲ្យអនុវែតរក្រមបញ្
ា នៅក្នុងន ោះក្នុងក្រណ្ី
ល ក់ > ថ្លវ
ក្ននាមរបមាណ្វ ិធី ថ្លឦ ល ិ ញ ផតល់លទធផលជាែក្កវែថុ True នបើ ពុំន ោះនាែនទ រក្រម
បញ្
ា ន ោះនឹងរែូវរ ំលងនចាល។ នដាយ ថ្ងលលក្់ ជានលខ្ 900 និង ថ្ងលទិញ ជានលខ្ 900
ល ក់ > ថ្លវ
ដូចននោះក្ននាមរបមាណ្វ ិធី ថ្លឦ ល ិ ញ ផតល់លទធផលជាែក្កវែថុ False តដល ំឲ្យរក្រម
បញ្
ា នៅក្នុងបញ្
ា if រែូវានរ ំលងនចាល។
បញ្ជ
ា if/else
if/else េឺជាបញ្
ា ែរមូវឲ្យអនុវែតរក្រមបញ្
ា នៅក្នុងបញ្
ា if និងែរមូវឲ្យរ ំលងនចាលរក្រមបញ្
ា
រក្រមបញ្
ា នៅក្នុងបញ្
ា if នឹងរែូវរ ំលងនចាល នហើយរក្រមបញ្
ា នៅក្នុងបញ្
ា else នឹងរែូវយក្
ថ្លលឦក់ = 1000
ទំព័រ 105
ថ្លលវិញ = 900
print(រាក់ចណំ ណញ)
else :
print("ថ្លលឦក់ឣឞណរច
ិ ឞជាងថ្លល
ើ វិញណវ")
print("ឥកសុ ីឣឞចំ
ិ ណណញ")
ល ក់ > ថ្លវ
if ថ្លឦ ល ិ ញ : េឺជាការនរបើបញ្
ា if ែរមូវឲ្យអនុវែតរក្រមបញ្
ា នៅក្នុងន ោះនិងរ ំលង
នចាលរក្រមបញ្
ា នៅក្នុងនៅក្នុងបញ្ ល ក់ > ថ្លវ
ា else ក្នុងក្រណ្ីក្ននាមរបមាណ្វ ិធី ថ្លឦ ល ិញ
ផតល់លទធផលជាែក្កវែថុ True ។
else : េឺ ជាការនរបើបញ្
ា else ែរមូវឲ្យរ ំលងនចាលរក្រមបញ្
ា នៅក្នុងបញ្
ា if និងអនុវែតរក្រម
បញ្
ា នៅក្នុងបញ្ ល ក់ > ថ្លវ
ា else ននោះក្នុងក្រណ្ីក្ននាមរបមាណ្វ ិធី ថ្លឦ ល ិញ ផតល់លទធផលជា
ែក្កវែថុ False ។
ល ក់ > ថ្លវ
របមាណ្វ ិធី ថ្លឦ ល ិញ ផតល់លទធផលជាែក្កវែថុ True តដល ំឲ្យរក្រមបញ្
ា នៅក្នុងបញ្
ា
if រែូវានយក្នៅអនុវែត និងរក្រមបញ្
ា នៅក្នុងបញ្
ា else រែូវានរ ំលងនចាល។
បញ្ជ
ា if/elif/else
if/elif/else េឺជាបញ្
ា ែរមូវឲ្យអនុវែតរក្រមបញ្
ា នៅក្នុងបញ្
ា if ឬបញ្
ា elif ក្នុងក្រណ្ីក្ននាម
a = 15
b = 15
if a < b :
print("a រូ ចជាង b")
print("រករឣសញ្ហ
ា ណៅកនុងសញ្ហ
ា if ររូឧាឞឤកណៅអឞុ ឧរោ។")
elif a == b :
print("a ណសមើឞឹង b")
print("រករឣសញ្ហ
ា ណៅកនុងសញ្ហ
ា elif វីឣួ ឤររូឧាឞឤកណៅអឞុ ឧរោ។")
print("រករឣសញ្ហ
ា ណៅកនុងសញ្ហ
ា elif វីឡីឥររូឧាឞឤកណៅអឞុ ឧរោ។")
else :
print("ោមឞកណឞាឣរសមាណឧឝ
ិ តឣួ
ី ឤហោឦ់ឦវធហឦជារកកឧរថុ True ណវ។")
print("រករឣសញ្ហ
ា ណៅកនុងសញ្ហ
ា else ររូឧាឞឤកណៅអឞុ ឧរោ។")
if a < b : េឺ ជាបញ្
ា ែរមូវឲ្យអនុវែតរក្រមបញ្
ា នៅក្នុងន ោះ និងរ ំលងនចាលរក្រមបញ្
ា នៅក្នុង
if a == b : េឺ ជាបញ្
ា ែរមូវឲ្យអនុវែតរក្រមបញ្
ា នៅក្នុងន ោះ និងរ ំលងនចាលរក្រមបញ្
ា នៅក្នុង
។
ទំព័រ 107
else : េឺ ជាបញ្
ា ែរមូវឲ្យអនុវែតរក្រមបញ្
ា នៅក្នុងន ោះ និងរ ំលងនចាលរក្រមបញ្
ា នៅក្នុងបញ្
ា
និងរក្រមបញ្
ា នៅក្នុងបញ្
ា នផេងៗនទៀែរែូវរ ំលងនចាលទំងអស់។
នយើងរែូវនធវើការក្ែ់សំោល់ថា នយើងអាចនរបើបញ្
ា elif មានចំនួនប៉ុ ម នក្៍ានតដរនៅក្នុង
បញ្
ា if/elif/else អាស្រស័យនៅតមនសចក្តីរែូវការថ្នការនដាោះស្រាយបញ្
ា ។
ក្បនោម្ររមាណវិ ធីមានជបរម្ើស
ថ្លលឦក់ = 1000
ថ្លលវិញ = 900
print(ឦវធហឦ)
ល ក់ - ថ្លវ
(ថ្លឦ ល ិញ > 0) ផតល់លទធផលជាែក្កវែថុ True នបើពុំន ោះនាែនទ ក្ននាមរបមណ្វ ិធី
របនភទណាក្៍ ានតដរ។
បញ្ជ
ា while
while េឺជាបញ្
ា ែរមូវឲ្យអនុវែតរក្រមបញ្
ា នៅក្នុងន ោះារចុោះារនឡើងោមនឈប់ ដរាបណា
ក្មមវ ិធីខាងនរកាមននោះ៖
a=0
while a < 10 :
print("រករឣសញ្ហ
ា ណៅកនុងសញ្ហ
ា while ររូឧាឞឤកណៅអឞុ ឧរោជាណឦើកវី", a + 1)
print("ឧរថុណ្មោះ a គឺជាណឦខ", a)
a += 1
print()
នពលតដលរក្រមបញ្
ា នៅក្នុងបញ្
ា while រែូវានយក្នៅអនុវែតចំនួន 10 ដង វែថុន្មោះ a
កាលយជានលខ្ 10 ពីនរពាោះរាល់នលើក្តដលបញ្
ា a += 1 រែូវានយក្នៅអនុ វែត វែថុន្មោះ a
រក្រមបញ្
ា នៅក្នុងបញ្
ា while រែូវបញ្ចប់។
សរុបមក្ នដើមបីឲ្យការអនុវែតន៍រក្រមបញ្
ា នៅក្នុងបញ្
ា while អាចរែូវបញ្ចប់ាន លុោះរតណា
តែក្ននាមរបមាណ្វ ិធីជាប់នឹងបញ្
ា while ន ោះតលងផតល់លទធផលជាែក្កវែថុ True ឬ
a=0
while a < 10 :
print("រករឣសញ្ហ
ា ណៅកនុងសញ្ហ
ា while ររូឧាឞឤកណៅអឞុ ឧរោជាណឦើកវី", a + 1)
print("ឧរថុណ្មោះ a គឺជាណឦខ", a)
print()
ទំព័រ 110
ជានិរនតន៍ ។
តដលរក្រមបញ្
ា នៅក្នុងបញ្
ា while រែូវយក្នៅអនុវែត វែថុន្មោះ a នៅរក្ាែថ្មលដតដល
ឲ្យរក្រមបញ្
ា នៅក្នុងបញ្
ា while រែូវយក្នៅអនុវែតជានរៀងរហូែ នរពាោះការអនុវែតន៍រក្រមបញ្
ា
False តែប៉ុនណាណោះ។
បញ្ជ
ា for
for េឺជាបញ្
ា ែរមូវឲ្យពិនិែយនមើលធ្លែុ ទំងអស់នៅក្នុងសមាសវែថុណាមួយបនណ្ើ ត រនិងែរមូវឲ្យ
អនុវែតរក្រមបញ្
ា នៅក្នុងបញ្
ា for ន ោះបនណ្ើ ត រ។ ពិនិែយក្មមវ ិធីខាងនរកាមននោះ៖
ណឦខណឥៀង = 0
ណឦខណឥៀង += 1
ក្បញ្
ា for ក្៍ រែូវនធវើនឡើងចំនួន 4 ដងតដរ។
េឺជាការនរបើបញ្
ា for នដើមបីពិនិែយនមើលក្ូននារនៅក្នុងវច នុរក្មន ោះ។ ពិនិែយក្មមវ ិធីខាង
នរកាមននោះ៖
ន្មោះ របវែតិរប
ូ និងែរមូវឲ្យអនុវែតរក្រមបញ្
ា នៅក្នុងបញ្
ា for ន ោះរពមនពលជាមួយោន។
បញ្ជ
ា break
break េឺជាបញ្
ា ែរមូវឲ្យបញ្ចប់ជាប ទ ន់នូវការអនុវែតន៍រក្រមបញ្
ា នៅក្នុងបញ្
ា while ឬ for ។
ពិនិែយក្មមវ ិធីខាងនរកាមននោះ៖
break
print("រថ្ឣលជាស់ឞឹងកូ ឞណោឥ", ឧរថុ, "គឺ", រសឧរោឥូិ ស)
while True :
b += 1
print("b គជាណឦខ",
ឺ b)
if b == 10 :
break
break េឺ ជាបញ្
ា ែរមូវឲ្យបញ្ចប់ការអនុវែតន៍រក្រមបញ្
ា នៅក្នុងបញ្
ា for និងបញ្ឈប់ការពិនិែយ
របវែតិរប
ូ និងការអនុវែតន៍រក្រមបញ្
ា នៅក្នុងបញ្
ា for រែូវបញ្ឈប់ជាប ទ ន់ នហើយបញ្
ា ប ទ ប់ពី
រក្រមបញ្
ា ន ោះនឹងរែូវយក្នៅអនុវែតជាប ទ ន់តដរ។
break េឺ ជាបញ្
ា ែរមូវឲ្យបញ្ចប់ជាប ទ ន់ការអនុវែតន៍រក្រមបញ្
ា នៅក្នុងបញ្
ា while ក្នុងក្រណ្ី b
ជានលខ្ 10 ។
បញ្ជ
ា continue
if b == 7 :
continue
print("b គជាណឦខ",
ឺ b)
រក្រមបញ្
ា ជាមួយោននឹងរែូវទុក្នចាល នរពាោះរក្រមបញ្
ា នៅក្នុងបញ្
ា for រែូវយក្នៅអនុវែត
រក្រមបញ្
ា នៅក្នុងបញ្
ា while នឹងរែូវទុក្នចាលនរពាោះរក្រមបញ្
ា ន ោះរែូវយក្នៅអនុវែតារ
បញ្ជ
ា pass
print("កឣមឧឝ
ិ ររូ
ី ឧចាស់ណហោឣ
ើ ណៅកកឞលងណឞោះ")
if True :
pass
print("កឣមឧឝ
ិ ររូ
ី ឧចស់ររឣណឞោះ")
ឹ
pass េឺ ជាបញ្
ា ែរមូវឲ្យរ ំលងនចាលនដាយមិននធវើអីវទំងអស់។
នៅក្នុងបញ្
ា មួយចំនួនដូចជាបញ្
ា if ជានដើម នបើនយើងមិនចង់នធវើអីនវ ាោះន ោះ នយើងមិនអាច
បញ្ជ
ា while/else
while/else េឺជាបញ្
ា ែរមូវរឲ្អនុវែតរក្រមបញ្
ា នៅក្នុងបញ្
ា while ារចុោះារនឡើងោមនឈប់
នហើយនបើការអនុវែតន៍រក្រមបញ្
ា ន ោះរែូវានបញ្ចប់នៅនដាយោមនានជួបរបទោះនឹងបញ្
ា
បញ្
ា នៅក្នុងបញ្
ា while ានជួបរបទោះនឹងបញ្
ា break រក្រមបញ្
ា នៅក្នុងបញ្
ា else នឹងរែូវ
a=0
while a < 10 :
print("a ជាណឦខ", a)
a += 1
if a == 11 :
break
else :
print("កាឥអឞុ ឧរោឞរ៍ ករឣសញ្ហ
ា ណៅកនុងសញ្ហ
ា while ោមឞាឞជួ សរសវោះឞឹងសញ្ហ
ា break ណវ។")
else : េឺ ជាការនរបើបញ្
ា else ែរមូវឲ្យអនុវែតរក្រមបញ្
ា នៅក្នុងន ោះ ក្នុងក្រណ្ីការអនុវែតន៍រក្រម
បញ្
ា នៅក្នុងបញ្
ា while រែូវានបញ្ចប់នៅនដាយសរមួល នដាយមិនានជួបរបទោះនឹងបញ្
ា
break ។
ទំព័រ 115
នដាយការអនុវែតន៍រក្រមបញ្
ា នៅក្នុងបញ្
ា while រែូវានបញ្ចប់នៅតមសរមួល នដាយោមន
ានជួបរបទោះនឹងបញ្
ា break ដូចននោះរក្រមបញ្
ា នៅក្នុងបញ្
ា else ក្៍រែូវានយក្នៅអនុវែត
តដរ។
ខាងនរកាមននោះ៖
a=0
while a > 10 :
print("a ជាណឦខ", a)
a += 1
if a == 11 :
break
else :
print("កាឥអឞុ ឧរោឞរ៍ ករឣសញ្ហ
ា ណៅកនុងសញ្ហ
ា while ោមឞាឞជួ សរសវោះឞឹងសញ្ហ
ា break ណវ។")
else : េឺ ជាការនរបើបញ្
ា else ែរមូវឲ្យអនុវែតរក្រមបញ្
ា នៅក្នុងន ោះ ក្នុងក្រណ្ីការអនុវែតន៍រក្រម
បញ្
ា នៅក្នុងបញ្
ា while រែូវានបញ្ចប់នៅនដាយសរមួលនដាយមិនានជួបរបទោះនឹងបញ្
ា
break ឬក្នុងក្រណ្ីរក្រមបញ្
ា នៅក្នុងបញ្
ា while រែូវរ ំលងនចាលនដាយារក្ននាមរបមាណ្
តដល ំឲ្យរក្រមបញ្
ា នៅក្នុងបញ្
ា while រែូវរ ំលងនចាល និងរក្រមបញ្
ា នៅក្នុងបញ្
ា else រែូវ
យក្នៅអនុវែត។
បញ្ជ
ា for/else
for/else េឺជាបញ្
ា ែរមូវឲ្យពិនិែយនមើលធ្លែុនៅក្នុងសមាសវែថុណាមួយបនណ្ើ ត រនិងែរមូវឲ្យ
អនុវែតរក្រមបញ្
ា នៅក្នុងបញ្
ា for ន ោះបនណ្ើ ត រ។ នហើយនបើការអនុវែតន៍រក្រមបញ្
ា ន ោះោមនាន
ជួបរបទោះនឹងបញ្
ា break នទ រក្រមបញ្
ា នៅក្នុងបញ្
ា else ក្៍ នឹងរែូវយក្នៅអនុវែតតដរ។ ផទុយ
b=0
if ឧរថុ == 11 :
break
else :
print("កាឥអឞុ ឧរោឞរ៍ ករឣសញ្ហ
ា ណៅកនុងសញ្ហ
ា for ោមឞាឞជួ សរសវោះឞឹងសញ្ហ
ា break ណវ។")
else : េឺ ជាការនរបើបញ្
ា else ែរមូវឲ្យអនុវែតរក្រមបញ្
ា នៅក្នុងន ោះ ក្នុងក្រណ្ីការអនុវែតន៍រក្រម
បញ្
ា នៅក្នុងបញ្
ា for ោមនានជួបរបទោះនឹងបញ្
ា break នទ។
នដាយការអនុវែតន៍រក្រមបញ្
ា នៅក្នុងបញ្
ា for ោមនានជួបរបទោះនឹងបញ្
ា break ដូចននោះរក្រម
បញ្
ា នៅក្នុងបញ្
ា else រែូវានយក្នៅអនុវែត។
វដ្តកមម កែុងវដ្តកមម
នរៅពីការបនងកើែវដតក្មមតែមួយដាច់តែឯង នយើងអាចបនងកើែវដតក្មមមួយនៅក្នុងវដតក្មមមួយនទៀែ
នដាយសរនសរក្មមវ ិធីដូចខាងនរកាមននោះ៖
ណឦខណឥៀង = 0
for x in ករឣងចំឞួឞគរ់ :
ណឦខ = 0
for y in ករឣងចំឞួឞឡិរ :
ណឦខ += 1
ណឦខណឥៀង += 1
ទំព័រ 118
ំ ួ ឞគរ់ : េឺ ជាការនរបើបញ្
for x in ករឣងចឞ ា for នដើមបីបនងកើែវដតក្មមមួយ។
ំ ួ ឞឡិរ : េឺ ជាការនរបើបញ្
for y in ករឣងចឞ ា for មួយនទៀែនដើមបីបនងកើែវដតក្មមមួយនទៀែនៅខាង
ក្នុងវដតក្មមខាងនដើម។
ក្នុងក្រណ្ីវដតក្មមមួយនៅក្នុងវដតក្មមមួយនទៀែ រក្រមបញ្
ា តដលជាវដតក្មមនៅខាងក្នុងរែូវយក្នៅ
អនុវែតរហូែដល់លក្ខខ្័ណ្ឌរែូវបំនពញ រាល់នលើក្តដលរក្រមបញ្
ា តដលជាវដតក្មមនៅខាងនរៅ
វដតក្មមនៅខាងនរៅរែូវយក្នៅអនុវែតមតង រក្រមបញ្
ា នៅក្នុងបញ្
ា for តដលជាវដតក្មមនៅខាង
ក្នុងរែូវយក្នៅអនុវែតជានរចើននលើក្នរចើនាររហូែដល់ធ្លែុថ្នក្រមងអនងរន្មោះ
ក្រមងចំនួនពិែ រែូវពិនិែយអស់។
1*4
ទំព័រ 119
ក្បន
ួ
ការបឈងកើត្ កបួន
បញ្
ា មួយចំនួនតដលទក្់ទងោនក្នុងការនដាោះស្រាយក្ូនបញ្
ា ណាមួយ។ នដើមបីបនងកើែក្បួន
នយើងរែូវសរនសរក្មមវ ិធីដូចខាងនរកាមននោះ៖
ថ្លលឦក់ = 1000
ថ្លលវិញ = 900
print(រាក់ចណំ ណញ)
ថា រក្រាក្់ចំនណ្ញ នដើមបីក្ែ់រតទុក្រក្រមបញ្
ា នៅក្នុងបញ្
ា def ន ោះនៅក្តនលងណាមួយនៅ
ក្នុងសែិ របស់ក្ំពយូទ័ រ។
ប ទ ែ់តដលមានបញ្
ា def នៅក្នុងន ោះនៅថា ក្ាលក្បួន (function header) ចំតណ្ក្ឯរក្រម
បញ្
ា នៅក្នុងបញ្
ា def ន ោះរែូវនៅថា ែួ ក្បួន (function body) ។ ន្មោះរបស់ក្បួនក្៍ ដូចជា
នៅក្នុងភាា Python ។
ទំព័រ 120
ថា រក្រាក្់ចំនណ្ញ រែូវានបនងកើែនឡើងសរមាប់ក្ែ់រតទុក្រក្រមបញ្
ា តដលជាែូ ក្បួនន ោះ។
នយើងរែូវនធវើការក្ែ់សំោល់ថា រក្រមបញ្
ា តដលជាែួ ក្បួនមិនានរែូវយក្នៅអនុវែតនទ េឺ វា
រោន់តែរែូវានក្ែ់រតទុក្មួយអននលើតែប៉ុនណាណោះ។ នហែុដូចននោះនហើយានជានយើងមិនន ើញ
រក្រមបញ្
ា នៅក្នុងក្បូនមិនទន់រែូវយក្នៅអនុវែតនៅនពលក្បួនរែូវានបនងកើែ ដូចននោះនៅ
នពលបនងកើែក្បួន បញ្
ា ទំងន ោះមានលក្ខណ្ៈជាេនរមាងការ។
ថ្ងលលក្់ = 1000
ថ្ងលទិញ = 900
រក្រាក្់ចំនណ្ញ
រាក្់ចំនណ្ញ = ថ្ងលលក្់ - ថ្ងលទិញ
print(រាក្់ចំនណ្ញ)
ថ្លលឦក់ = 1000
ថ្លលវិញ = 900
print(រាក់ចណំ ណញ)
ឥករាក់ចណំ ណញ = 1.33
ទំព័រ 121
print(ឥករាក់ចណំ ណញ)
យនតការនាសសំអាែ។ ដូចននោះបញ្
ា ទំងឡាយតដលរែូវានក្ែ់រតទុក្នៅក្នុងក្បួនន ោះក្៍
រែូវានលុបនចាលអស់តដរ។
ពិនិែយក្មមវ ិធីខាងនរកាមននោះ៖
ថ្លលឦក់ = 1000
ថ្លលវិញ = 900
print(រាក់ចណំ ណញ)
print(វូ ទរ់រាក់ឥកាឞ)
print(ឥករាក់កថ្រឣ)
print(ឥករាក់ចណំ ណញ)
ថ្ងលទិញ = 900
រក្រាក្់ចំនណ្ញ
រាក្់ចំនណ្ញ = ថ្ងលលក្់ - ថ្ងលទិញ
រក្រាក្់ក្ថ្រម print(រាក្់ចំនណ្ញ)
ណាមួយនៅក្នុងសែិរបស់ក្ំពយូទ័រ នហើយបញ្
ា ទំងន ោះមិនទន់រែូវានយក្នៅអនុវែតនឡើយ
ថ្លលឦក់ = 1000
ថ្លលវិញ = 900
print(រាក់ចណំ ណញ)
ឥករាក់ចណំ ណញ()
អនុវែតរក្រមបញ្
ា នៅក្នុងក្បួនន ោះតំងពីនដើមរហូែដល់ចប់។
function) ក្៍ដូចជាការយក្បញ្
ា ធមមតនផេងៗនទៀែមក្នរបើតដរ នពាលេឺជាការែរមូវឲ្យអនុវែត
រក្រមបញ្
ា នៅក្នុងក្បួនន ោះពីនលើចុោះនរកាមនិងពី នឆវងនៅាតត
ំ ំងពី នដើមដល់ចប់។ ដូចននោះ
ការយក្ក្បួមមក្នរបើ ក្៍ជាបញ្
ា មួយដូចជាបញ្
ា ដថ្ទនទៀែតដរ នពាលេឺជាបញ្
ា តដលែរមូវឲ្យ
អនុវែតរក្រមបញ្
ា តដលជាែួ ក្បួនន ោះ។
ណាមួយនៅក្នុងសែិរបស់ក្ំពយូទ័រ។ នហើយនដើមបីឲ្យរក្រមបញ្
ា តដលជាែួក្បួនន ោះរែូវយក្នៅ
ដតដលមក្នរបើ រក្រមបញ្
ា តដលជាែួ ក្បួនន ោះរែូវយក្នៅអនុវែតារជាងមីនឡើងវ ិញជាដតដលៗ
។ ពិនិែយក្មមវ ិធីខាងនរកាមននោះ៖
ថ្លលឦក់ = 1000
ថ្លលវិញ = 900
print(រាក់ចណំ ណញ)
ឥករាក់ចណំ ណញ()
ឥករាក់ចណំ ណញ()
ឥករាក់ចណំ ណញ()
រែូវយក្នៅអនុវែតជាដតដលៗ ដូចននោះនយើងានលទធផលដតដលៗចំនួនបីដូចៗោន។
ទំព័រ 124
ថ្លលឦក់ = 1000
ថ្លលវិញ = 900
print(រាក់ចណំ ណញ)
ឥករាក់ចណំ ណញ()
វូ ទរ់រាក់ឥកាឞ()
ឥករាក់កថ្រឣ()
របស់វា។
ទូទែ់រាក្់រក្ាន ។
រក្រាក្់ក្ថ្រម ។
នដាយការយក្ក្បួនមក្នរបើ ក្៍ជាបញ្
ា មួយដូចជាបញ្
ា ដថ្ទនទៀែតដរ ដូចននោះនយើងអាចយក្
ក្បួនមួយឬនរចើនមក្នរបើជាបញ្
ា នៅក្នុងក្បួនមួយនទៀែាននដាយោមនបញ្
ា អវីនឡើយ។ ពិនិែយ
ក្មមវ ិធីខាងនរកាមននោះ៖
ទំព័រ 125
ថ្លលឦក់ = 1000
ថ្លលវិញ = 900
print(រាក់ចណំ ណញ)
ឥករាក់ចណំ ណញ()
សងាាញរាក់ចណំ ណញ()
ន្មោះ បងាាញរាក្់ចំនណ្ញ ។
ជារបការនធវើឲ្យបញ្
ា ទំងអស់នៅក្នុងន ោះរែូវយក្នៅអនុវែត។ របការននោះក្៍ នធវើឲ្យក្បួនន្មោះ
បនងកើែមក្នរបើ ជាបញ្
ា នៅក្នុងក្បួនាន មុននពលក្បួនន ោះរែូវយក្នៅនរបើ។ ពិនិែយក្មមវ ិធីខាង
នរកាមននោះ៖
ឥករាក់ចណំ ណញ()
print(រាក់ចណំ ណញ)
ថ្លលឦក់ = 1000
ថ្លលវិញ = 900
សងាាញរាក់ចណំ ណញ()
ជាបញ្
ា នៅក្នុងក្បួនន្មោះ បងាាញរាក្់ចំនណ្ញ ។
ានពីនរពាោះបញ្
ា តដលជាការយក្ក្បួនន្មោះ រក្រាក្់ចំនណ្ញ មក្នរបើរោន់តែរែូវាន
មួយនៅនឡើយ។
រាក់ចណំ ណញ = ថ្លឦ
ល ក់ - ថ្លវ
ល ិ ញ េឺជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យយក្
ន្មោះថា រាក្់ចំនណ្ញ ។
ទំព័រ 127
មិនតមនជាបញ្
ា ែរមូវឲ្យយក្នៅអនុវែតភាលមន ោះនទ។ នយើងេួររ ំលឹក្នឡើងវ ិញថា រេប់បញ្
ា
ទំងអស់នៅក្នុងក្បួនមិនទន់រែូវានយក្នៅអនុវែតនៅនឡើយនទ នៅនពលក្បួនរែូវានបនងកើែ
េឺវារោន់តែរែូវានក្ែ់រតទុក្មួយអននលើតែប៉ុនណាណោះ។
ែរមូវឲ្យអនុវែតរក្រមបញ្
ា នៅក្នុងន ោះ។ នៅនពលតដលបញ្
ា ទំងន ោះរែូវានយក្នៅអនុវែត
នទៀែដូចខាងនរកាមននោះ៖
ជាវារែូវានភាាប់នៅនឹងវែថុណាមួយរួចនៅនហើយ។ របការននោះអាចរែូវនធវើនៅាននដាយារ
បញ្
ា នៅក្នុងក្បួនមិនទន់ រែូវយក្នៅអនុវែត េឺវារោន់តែជាេនរមាងការមួយតែប៉ុនណាណោះ។
ក្ំហុសនឹងនក្ើែមាននឡើង។
ដូចននោះនៅនពលតដលរក្រមបញ្
ា នៅក្នុងក្បួនន្មោះ រក្រាក្់ចំនណ្ញ រែូវយក្នៅអនុវែត រេប់
ការយក្ដំណាង ថ្ងលលក្់ និង ថ្ងលទិញ នៅនរបើ េឺ ជាការយក្នលខ្ 1000 និងនលខ្ 900 នៅនរបើ
តដលអាចជាវែថុរបនភទណាក្៍ ានតដរ។
ទំព័រ 129
1000 900
បញ្ជ
ា return
return េឺជាបញ្
ា នរបើនៅក្នុងក្បួនសរមាប់បញ្ចប់ការអនុវែតន៍រក្រមបញ្
ា នៅក្នុងក្បួននិងបញ្ូា នវែថុ
return រាក់ចណំ ណញ
print(ឧរថុកបួឞសញ្ាូ ឞឣក)
រក្រាក្់ចំនណ្ញ រែូវានយក្នៅនរបើ ។
ទំព័រ 130
ថ្ងលលក្់ និង ថ្ងលទិញ នរៀងោន។ ជាលទធផល ក្បួនន្មោះ រក្រាក្់ ចំនណ្ញ បញ្ូា នវែថុមួយតដល
រេប់ក្បួនទំងអស់តដលោមនបញ្
ា return នៅក្នុងន ោះ បញ្ូា ននមា ៈវែថុ None នៅកាន់ក្តនលង
print(ឧរថុកបួឞសញ្ាូ ឞឣក)
ក្បួនន ោះោមនការនរបើបញ្
ា return នដើមបីបញ្ូា នវែថុណាមួយន ោះ ដូចននោះក្បួនន្មោះ
ាំ ឹ ង តមឈលខឈរៀង
ដ្ណ
នៅក្បួននដាយរែូវែនរមៀបនៅតមនលខ្នរៀងថ្នដំណាងនៅក្នុងក្បួន។ ដូចននោះការផតល់ដំណ្ឹង
ទំព័រ 131
ននោះ៖
ាំ ឹ ង តមដ្ណា
ដ្ណ ាំ ង
ឥករាក់ចណំ ណញ(ថ្លវ
ល ិ ញ=900, ថ្លឦ ់ 1000) េឺ ជាការយក្ក្បួនន្មោះ រក្រាក្់ចំនណ្ញ
ល ក=
ចាំាច់រែូវនោរពនៅតមនលខ្នរៀងថ្នដំណាងនឡើយ នរពាោះដំណាងនិមួយៗរែូវានភាាប់រច
ួ
ជានស្រសចនៅនឹងដំណ្ឹងទំងន ោះ។
ាំ ឹ ង ោនម្ាប់
ដ្ណ
ពិនិែយក្មមវ ិធីខាងនរកាមននោះ៖
ឥករាក់ចណំ ណញ()
ឥករាក់ចណំ ណញ(1000)
ឥករាក់ចណំ ណញ(ថ្លលវិញ=900)
រក្រាក្់ចំនណ្ញ មួយតដលមានដំណ្ឹងមួយចំនួនរួចជានស្រសចសរមាប់ដំណាងផេងៗនៅក្នុង
ដំណាងនផេងៗមក្នរបើ។
ថ្ងលទិញ ។
ឥករាក់ចណំ ណញ(ថ្លវ
ល ិ ញ=900) េឺជាការយក្ក្បួនន្មោះ រក្រាក្់ចំនណ្ញ មក្នរបើនដាយ
យក្មក្នរបើនទ េឺ រែូវទុក្នចាល។
នយើងានដឹងរូចមក្នហើយថា បញ្
ា នផេងៗនៅក្នុងក្បួនមិនរែូវានយក្នៅអនុវែតនទនៅនពល
ក្បួនរែូវានបនងកើែ។ បញ្
ា ទំងន ោះរែូវយក្នៅអនុវែតតែនៅនពលណាតដលក្បួនរែូវយក្នៅ
ទំព័រ 134
នៅនឹងដំណ្ឹងទំងឡាយរែូវយក្នៅអនុវែតនៅនពលក្បួនរែូវានបនងកើែ។ ដូចននោះនៅក្នុង
បញ្
ា ែរមូវឲ្យបនងកើែក្បួនន្មោះ រក្រាក្់ចំនណ្ញ និងែរមូវឲ្យយក្បញ្
ា ចាែ់តំង ថ្ងលលក្់=0
ម៉ាងនទៀែនយើងរែូវនធវើការក្ែ់សំោល់ផងតដរថា ដំណ្ឹងរតមដំណាងនិងដំណ្ឹងមានស្រាប់
ំ
មានទរមង់ដូចោនេឺ ដត ំ ឹ ង តែវាជានរឿងពីរខ្ុសោនស្រសឡោះ។ ដំណ្ឹងតម
ង = ដណ
ននោះ៖
ថា រក្រាក្់ចំនណ្ញ តដលមានដំណ្ឹងមានស្រាប់ រច
ូ ជានស្រសចសរមាប់ដំណាងទំងពីរនៅក្នុង
ន ោះ។
ឥករាក់ចណំ ណញ(ថ្លឦ
ល ក់=1000, ថ្លវ
ល ិ ញ=900) េឺ ជាការយក្ក្បួនន្មោះ រក្រាក្់ចំនណ្ញ
ាំ ឹ ង
ការបាំផ្បក ដ្ណ
ដំណ្ឹងផតល់ឲ្យនៅក្បួនណាមួយ។ ទនងវើននោះរែូវនធវើនឡើងនៅនពលយក្ក្បួនមក្នរបើ។
នយើងអាចចមលងយក្ក្រមងនផេងៗមក្បំតបក្ជាដំណ្ឹងផតល់ឲ្យនៅក្បួនណាមួយនដាយសរនសរ
ក្មមវ ិធីដូចខាងនរកាមននោះ៖
ឥករាក់ចណំ ណញ(*ករឣងរាក់)
ជាដំណ្ឹងតមនលខ្នរៀងចំនួនពីរផតល់ឲ្យនៅក្បួនន្មោះ រក្រាក្់ចំនណ្ញ ។
ឥករាក់ចណំ ណញ(**សងវិចរាក់)
ឥករាក់ចណំ ណញ(**សងិច
វ រាក់) េឺ ជាការចមលងយក្វច នុរក្មន្មោះ បងវិចរាក្់ មក្បំតបក្
ជាដំណ្ឹងតមដំណាងចំនួនពីរផតល់ឲ្យនៅក្បួនន្មោះ រក្រាក្់ចំនណ្ញ ។
ក្បួន។
ការម្បមូល ផតុាំដ្ណ
ាំ ឹ ង
មក្បនងកើែជាសមាសវែថុណាមួយទុក្នៅក្នុងក្បួនណាមួយ។
នយើងអាចរបមូលផតំុដំណ្ឹងតមនលខ្នរៀងមានចំនួនមិនក្ំណ្ែ់ មក្បនងកើែជាក្រមងនងរមួយទុក្
នៅក្នុងក្បួនណាមួយនដាយសរនសរក្មមវ ិធីដូចខាងនរកាមននោះ៖
print(ករឣងរាក់)
សមែថភាពអាចរបមូលយក្ដំណ្ឹងតមនលខ្នរៀងមានចំនួនមិនក្ំណ្ែ់ មក្បនងកើែជាក្រមងនងរ
ទំព័រ 137
ក្រមងរាក្់ ននោះនហើយតដលនធវើឲ្យក្បួនននោះមានសមែថភាពអាចរបមួលយក្ដំណ្ឹងតមនលខ្
វច នុរក្មមួយទុក្នៅក្នុងក្បួនណាមួយនដាយសរនសរក្មមវ ិធីដូចខាងនរកាមននោះ៖
print(សងវិចរាក់)
សមែថភាពអាចរបមូលផតំុយក្ដំណ្ឹងតមដំណាងមានចំនួនមិនក្ំណ្ែ់មក្បនងកើែជា
ការបំតបក្ដំណ្ឹង នយើងរែូវនរបើសញ្ដផ្ទកយនៅខាងមុខ្ដំណ្ឹងនៅនពលយក្ក្បួនមក្នរបើ តែ
ក្បួន។
ាំ
លាំដាប់ ថ្នែក់ ននដ្ណា ាំ ឹ ង
ង និង ដ្ណ
print(រាក់ចណំ ណញ)
print(ករឣងរាក់)
print(សងវិចរាក់)
ដំណ្ឹងធមមតតដលជាដំណ្ឹងតមនលខ្នរៀង និងដំណ្ឹងតមដំណាងមក្បនងកើែជាវែថុនទល
ដំណាងមានផ្ទកយមួយតដលរែូវនៅមុខ្ដំណាងមានផ្ទកយពីរ។
ល ក់=1000, ថ្លវ
រសឣូឦ(100, 1000, 900, ថ្លឦ ល ិ ញ=900) េឺជាការយក្ក្បួនន្មោះ របមូល មក្
តដលជាដំណ្ឹងតមនលខ្នរៀង រែូវនៅខាងមុខ្ដំណ្ឹងតមដំណាង។
ំ
def ោច់រាក់(រាក់សឥុស, រាក់ណៅសឦ់ , រាក់ចត ឤ, ថ្លលឦក់=0, ថ្លលវិញ=0) :
print(រាក់សឥុស)
print(រាក់ណៅសឦ់ )
ំ
print(រាក់ចត ឤ)
print(ថ្លលឦក់)
print(ថ្លលវិញ)
ទំព័រ 140
ផ្ទកយមួយតដលរែូវនៅមុខ្ដំណ្ឹងមានផ្ទកយពីរ។
ផ្ដ្នកាំណត្់
ចាស់លាស់។
ដដនក្ំណត់សក្េ
ដូចខាងនរកាមននោះ៖
ឥករាក់ចណំ ណញ(*ករឣងរាក់)
ទំព័រ 141
សថិែនៅក្នុងតដនក្ំណ្ែ់ សក្ល។
ដដនក្ំណត់បោយដែក្
ថ្លលឦក់ = ករឣងរាក់[0]
ថ្លលវិញ = ករឣងរាក់[1]
ឥករាក់ចណំ ណញ()
សថិែនៅក្នុងតដនក្ំណ្ែ់នដាយតឡក្នៅក្នុងក្បួនន្មោះ រក្រាក្់ចំនណ្ញ ។
រេប់វែថុនៅក្នុងតដនក្ំណ្ែ់នដាយតឡក្រែូវបនងកើែនឡើងនៅនពលតដលក្បួនរែូវយក្នៅនរបើ និង
រែូវលុបនចាលវ ិញនៅនពលតដលក្បួនរែូវាននរបើ រច
ួ នហើយ។ ជាក្់តសតងនៅក្នុងក្មមវ ិធីខាងនលើ
តដលក្បួនន ោះរែូវាននរបើរច
ួ នហើយ។
ទំព័រ 142
ដដនក្ំណត់ចា ក្
ឹ ក្ាុងនិងដដនក្ំណត់ចា ក្
ឹ បរៅ
នៅនពលតដលក្បួនមួយរែូវានបនងកើែនឡើងនៅក្នុងក្បួនមួយនទៀែ ទីក្តនលងរបស់ក្បួននៅខាង
def កបួឞចាឥកណរៅ()
ឹ :
print("ឧរថុកដឦររូឧាឞសណងកើរណឡើងណៅកនុងកដឞកំណរ់ចាឥកណរៅគ
ឹ ៖",
ឺ ករឣងរាក់)
def កបួឞចាឥកកន
ឹ ុ ង() :
print("ឧរថុកដឦររូឧាឞសណងកើរណឡើងណៅកនុងកដឞកំណរ់ចាឥកកន
ឹ ុ ងគឺ៖", សងវិចរាក់)
កបួឞចាឥកកន
ឹ ុ ង()
កបួឞចាឥកណរៅ()
ឹ
វ រាក់ = {"ថ្លឦ
សងិច ល ក់":1000, "ថ្លវ
ល ិញ":900} េឺជាបញ្
ា ែរមូវឲ្យបនងកើែវច នុរក្មន្មោះ
តដនក្ំណ្ែ់នដាយតឡក្តដរ េឺ វារែូវានបនងកើែនឡើងនៅនពលតដលក្បួនរែូវានយក្នៅនរបើ
និងរែូវលុបនចាលវ ិញនៅនពលតដលក្បួនរែូវាននរបើរច
ួ នហើយ។ ក្៍ប៉ុតនតនបើ សិនណាជាវែថុ
ទំព័រ 143
លុបនចាលនឡើយនៅនពលតដលក្បួនរែូវាននរបើ រច
ូ នហើយន ោះ។ ពិនិែយក្មមវ ិធីខាងនរកាមននោះ៖
ថ្លលឦក់ = 1000
ថ្លលវិញ = 900
return រាក់ចណំ ណញ
print(រាក់កថ្រឣ)
ដដនក្ំណត់ទូបៅ
តដនក្ំណ្ែ់ទូនៅ
តដនក្ំណ្ែ់សក្ល
តដនក្ំណ្ែ់នដាយតឡក្ឬចារ ឹក្នរៅ
តដនក្ំណ្ែ់ចារ ឹក្ក្នុង
ទំព័រ 145
កា ដសវង ក្វតថុ
នឡើងតមេំនូសបំរពួញដូចខាងនរកាមននោះ៖
តដនក្ំណ្ែ់ទូនៅ
តដនក្ំណ្ែ់សក្ល
តដនក្ំណ្ែ់ចារ ឹក្នរៅឬ
តដនក្ំណ្ែ់នដាយតឡក្
តដនក្ំណ្ែ់ចារ ឹក្ក្នុង
េឺានន័យថាការតសវងរក្វែថុរែូវនធវើនឡើងនដាយចាប់នផតើមនៅក្នុងតដនក្ំណ្ែ់តដលវែថុរែូវាន
យក្នៅនរបើ រួចានបនតនៅតដនក្ំណ្ែ់នផេងៗនទៀែតមសញ្ដរពួញដូចនៅក្នុងរូបខាងនលើ
ឃ្លលសកឦ = "កដឞកំណរ់សកឦ"
def កបួឞណរៅ() :
ឃ្លលចាឥកណរៅ
ឹ = "កដឞកំណរ់ណ ឤកឡកឬចាឥកណរៅ"
ឹ
def កបួឞកនុង() :
ឃ្លលចាឥកកន
ឹ ុ ង = "កដឞកំណរ់ចាឥកកន
ឹ ុ ង"
print("ឃ្លលចាឥកណរៅររូ
ឹ ឧាឞឥកណឃើញណៅកនុង ", ឃ្លលចាឥកណរៅ)
ឹ
print("ឃ្លលចាឥកកន
ឹ ុ ងររូឧាឞឥកណឃើញណៅកនុង ", ឃ្លលចាឥកកន
ឹ ុ ង)
កបួឞកនុង()
កបួឞណរៅ()
print("ឃ្លលសកឦររូឧាឞឥកណឃើញណៅកុ ង
ន ", ឃ្លលសកឦ) េឺ ជាបញ្
ា តដលនៅក្នុងន ោះវែថុ
រែូវានបនងកើែនៅទី ន ោះ។
print("ឃ្លលចាឥកណរៅររូ
ឹ ឧាឞឥកណឃើញណៅកុ ង
ន ", ឃ្លលចាឥកណរៅ)
ឹ េឺជាបញ្
ា តដលនៅក្នុងន ោះវែថុ
print("ឃ្លលចាឥកក
ឹ ុ ងររូ
ន ឧាឞឥកណឃើញណៅកុ ង
ន ", ឃ្លលចាឥកក
ឹ ុ ង)
ន េឺ ជាបញ្
ា តដលនៅក្នុងន ោះវែថុ
នរពាោះវារែូវានបនងកើែនៅទីន ោះ។
អាចយក្វែថុនៅក្នុងតដនក្ំណ្ែ់នៅខាងនរកាមមក្នរបើនៅក្នុងតដនក្ំណ្ែ់នៅខាងនលើាន
ឃ្លលសកឦ = "កដឞកំណរ់សកឦ"
def កបួឞណរៅ() :
ឃ្លលចាឥកណរៅ
ឹ = "កដឞកំណរ់ណ ឤកឡកឬចាឥណរៅ"
ឹ
print(ឃ្លលចាឥកកន
ឹ ុ ង)
def កបួឞកនុង() :
ឃ្លលចាឥកកន
ឹ ុ ង = "កដឞកំណរ់ចាឥកកន
ឹ ុ ង"
កបួឞកនុង()
កបួឞណរៅ()
print(ឃ្លលចាឥកណរៅ)
ឹ
ទំព័រ 148
print(ឃ្លលចាឥកក
ឹ ុ ង)
ន េឺ ជាបញ្
ា ែរមូវឲ្យយក្វែថុន្មោះ ឃ្លលចារ ឹក្ក្នុង នៅក្នុងតដនក្ំណ្ែ់ចារ ឹក្
ាននក្ើែមាននឡើង។
print(ឃ្លលចាឥកណរៅ)
ឹ េឺជាបញ្
ា ែរមូវឲ្យយក្វែថុន្មោះ ឃ្លលចារ ឹក្នរៅ នៅក្នុងតដនក្ំណ្ែ់ចារ ឹក្
នក្ើែមាននឡើង។
object = 1000
def កបួឞណរៅ() :
object = True
print("ណៅកនុងកដឞកំណរ់ចាឥកណរៅ
ឹ ឧរថុណ្មោះ object គជា៖",
ឺ object)
def កបួឞកនុង() :
object = "ករឣងអកសឥ"
print("ណៅកនុងកដឞកំណរ់ចាឥកកន
ឹ ុ ង ឧរថុណ្មោះ object គឺជា៖", object)
កបួឞកនុង()
កបួឞណរៅ()
នរៅ។
ទំព័រ 149
ក្នុង។
print("ណៅកុ ងកដឞក
ន ណំ រ់សកឦ ឧរុ ណ្
ថ ម ោះ object គជា៖"
ឺ , object) េឺ ជាបញ្
ា តដលនៅក្នុងន ោះ
ានយក្មក្នរបើ។
print("ណៅកុ ងកដឞក
ន ណំ រ់ចាឥកណរៅ
ឹ ឧរុ ណ្
ថ ម ោះ object គឺជា៖", object) េឺ ជាបញ្
ា តដលនៅក្នុង
ចារ ឹក្នរៅរែូវានយក្មក្នរបើ។
print("ណៅកុ ងកដឞក
ន ណំ រ់ចាឥកក
ឹ ុង
ន ឧរុ ណ្
ថ ម ោះ object គឺជា៖", object) េឺជាបញ្
ា តដលនៅក្នុង
ក្នុងរែូវានយក្មក្នរបើ។
នយើងអាចយក្វែថុនៅក្នុងតដនក្ំណ្ែ់សក្លមក្នរបើ នៅក្នុងតដនក្ំណ្ែ់នដាយតឡក្និងឬនៅ
ចង់យក្ន្មោះរបស់វែថុនៅក្នុងតដនក្ំណ្ែ់សក្លនៅភាាប់នឹងវែថុនផេងនទៀែនៅក្នុង
object = 1000
def កបួឞណរៅ() :
global object
object = True
def កបួឞកនុង() :
global object1
object1 = "ករឣងអកសឥ"
កបួឞកនុង()
កបួឞណរៅ()
តដនក្ំណ្ែ់សក្លនៅភាាប់នឹងវែថុនផេងនទៀែាននៅក្នុងតដនក្ំណ្ែ់នដាយតឡក្ឬចារ ឹក្នរៅ។
តដនក្ំណ្ែ់សក្លនៅភាាប់នឹងវែថុនផេងនទៀែាននៅក្នុងតដនក្ំណ្ែ់ចារ ឹក្ក្នុង។
ទំព័រ 151
ចំនពាោះវែថុអាចនដាោះដូរានតដលសថិែនៅក្នុងតដនក្ំណ្ែ់សក្ល នយើងអាចយក្វាមក្នដាោះដូរ
global ។ ពីនរពាោះការនដាោះដូរធ្លែុនៅក្នុងសមាសវែថុមិនតមនជាការយក្ន្មោះរបស់សមាសវែថុ
def កបួឞណរៅ() :
object[0] = True
def កបួឞកនុង() :
object[1] = "ករឣងអកសឥ"
កបួឞកនុង()
កបួឞណរៅ()
nonlocal នដាយនធវើដូចខាងនរកាមននោះ៖
def កបួឞណរៅ() :
object = 1000
def កបួឞកនុង() :
nonlocal object
object = "ករឣងអកសឥ"
កបួឞកនុង()
កបួឞណរៅ()
ចំនពាោះវែថុតដលសថិែនៅក្នុងតដនក្ំណ្ែ់នដាយតឡក្តដលជាក្បួនខ្ុសៗោន េឺ ជាវែថុខ្ុសៗោន
return រាក់ចណំ ណញ
print(វឹករាក់)
ទំព័រ 153
សឥុសវឹករាក់(1000, 900)
ឥករាក់ចណំ ណញ(ថ្លឦ
ល ក់=ថ្លឦ
ល ក់, ថ្លវ
ល ិញ=ថ្លវ
ល ិ ញ) េឺជាការយក្ក្បួនន្មោះ
រក្រាក្់ចំនណ្ញ មក្នរបើជាបញ្
ា នៅក្នុងក្បួនន្មោះ សរុបទឹក្រាក្់ ។ ដំណាង ថ្ងលលក្់ និង
ោន នរពាោះវាសថិែនៅក្នុងតដនក្ំណ្ែ់នដាយតឡក្ពីរនផេងោន។
កបួនោនម្ាប់
abs(…)
abs(នលខ្)-> នលខ្
a = -136
ទំព័រ 154
divmod(…)
a = 10.5
b = 3.14
print(divmod(a, b))
input(…)
input([prompt])-> ក្រមងអក្េរ
េឺជាក្បួនមានស្រាប់ នរបើសរមាប់ចមលងយក្ក្រមងអក្េរទំងឡាយណាតដលរែូវានសរនសរ
នៅនលើបងអួចបឋម។
print(ឃ្លល)
len(…)
len(សមាសវែថុ)-> ចំនួនេែ់
េឺជាក្បួនមានស្រាប់ នរបើសរមាប់រាប់ធ្លែុឬក្ូននារនៅក្នុងសមាសវែថុណាមួយ។
print(len(ករឣងចរឣរោះ))
print(len(សំណុំចរឣរោះ))
ទំព័រ 155
max(…)
េឺជាក្បួនមានស្រាប់ នរបើសរមាប់រក្ធ្លែុឬក្ូននារឬវែថុតដលធំជាងនេបំផុែ។
print(max(ករឣងចរឣរោះ))
print(max(សំណុំចរឣរោះ))
min(…)
min(សមាសវែថុ)-> ធ្លែុឬក្ូននារែូចជាងនេ
េឺជាក្បួនមានស្រាប់ នរបើសរមាប់រក្ធ្លែុឬក្ូននារតដលែូចជាងនេបំផុែ។
print(min(ករឣងចរឣរោះ))
print(min(សំណុំចរឣរោះ))
pow(…)
ទំព័រ 156
print(pow(3, 3))
print(…)
print(វែថុ, …, វែថុ)
េឺជាក្បួនមានស្រាប់ នរបើសរមាប់សរនសរវែថុនផេងៗនៅនលើបងអួចបឋម។
round(…)
round(ចំនួនពិែ)-> ចំនួនេែ់
េឺជាក្បួនមានស្រាប់ នរបើសរមាប់តក្ចំនួនពិែឲ្យនៅជាចំនួនេែ់ ។
ថ្លលឦក់ = 1000.33
print(round(ថ្លលឦក់))
sorted(…)
sorted(សមាសវែថុ)-> សមាសវែថុ
បនងកើែជាក្រមងអនងរងមីមួយនទៀែមានធ្លែុតដលរែូវានែនរមៀបតមលំដាបថានក្់ពីែូចនៅធំ ។
print(sorted(ករឣងរថ្ឣល))
print(sorted(សំណុំចរឣរោះ))
sum(…)
sum(សមាសវែថុ)-> ផលបូក្ថ្នធ្លែុទំងអស់
េឺជាក្បួនមានស្រាប់ នរបើសរមាប់ចមលងយក្ធ្លែុឬក្ូននារទំងអស់នៅក្នុងសមាសវែថុណាមួយ
មក្បូក្បញ្ូា លោនបនងកើែជានលខ្ងមីមួយនទៀែ។
print(sum(ករឣងរថ្ឣល))
print(sum(សំណុំចរឣរោះ))
ទំព័រ 158
ថ្នាក្់
ការបឈងកើត្ ថ្នែក់
class រកឡាថ្ហទ() :
ឡី = 3.14
print("រកឡាថ្ហទចរុ ណកាណកកងគ៖",
ឺ ថ្ហទរកឡា)
រក្ឡាថ្ផទ ។
ដូចននោះថានក្់ខ្ុសពីក្បួននៅរែង់ថា រក្រមបញ្
ា នៅក្នុងថានក្់ រែូវយក្នៅអនុវែតភាលមមួយរ ំនពច
ា នៅក្នុងក្បួនវ ិញ មិនទន់រែូវយក្
ប ទ ប់ពីថានក្់រែូវានបនងកើែរូចនហើយ។ ចំតណ្ក្ឯរក្រមបញ្
នៅអនុវែតតែនៅនពលណាតដលក្បួនរែូវយក្នៅនរបើតែប៉ុនណាណោះ។
ទំព័រ 159
រក្រមបញ្
ា នៅក្នុងថានក្់អាចជាបញ្
ា របនភទណាក្៍ានតដរ វាអាចជាបញ្
ា ែរមូវឲ្យបនងកើែវែថុ
នផេងៗនទៀែ ឬជាបញ្
ា ែរមូវឲ្យអនុវែតបញ្
ា មួយចំនួននទៀែ។ ក្៍ប៉ុតនត ភាេនរចើននេនិយមនរបើ
របនភទថ្នបញ្
ា តដលែរមូវឲ្យបនងកើែវែថុតដលជាទិននន័យនិងឬក្បួនមួយចំនួនទុក្នៅក្នុងថានក្់
សរមាប់យក្នៅនរបើ នៅនពលនរកាយៗនទៀែ។
ពី = 3.14
class រកឡាថ្ហទ() :
ឡី = 3.14
print("រកឡាថ្ហទចរុ ណកាណកកងគ៖",
ឺ ថ្ហទរកឡា)
help(រកឡាថ្ហទ)
help(រកឡាថ្ហ)ទ េឺ ជាបញ្
ា ែរមូវឲ្យក្ថានក្់ ន្មោះ រក្ឡាថ្ផទ មក្ពិនិែយនមើលថានែើ មានអវីខ្លោះនៅ
នដាយថានក្់ក្៍ជាវែថុមួយដូចជាវែថុដថ្ទនទៀែតដរ ដូចននោះនយើងអាចន្មោះរបស់ថានក្់នៅភាាប់នឹង
class រកឡាថ្ហទ() :
ឡី = 3.14
print("រកឡាថ្ហទចរុ ណកាណកកងគ៖",
ឺ ថ្ហទរកឡា)
រកឡាថ្ហទ = 1000
print(រកឡាថ្ហទ)
លុបនចញពីក្ុងសែិ
ន របស់ក្ំពយូទ័រនដាយយនតការនាសសមាអែ។
ទំព័រ 161
នដាយថានក្់ក្៍ជាវែថុមួយដូចជាវែថុដថ្ទនទៀែតដរ ដូចននោះនយើងអាចយក្ន្មោះជានរចើននៅភាាប់
ខាងនរកាមននោះ៖
class រកឡាថ្ហទ() :
ឡី = 3.14
print("រកឡាថ្ហទចរុ ណកាណកកងគ៖",
ឺ ថ្ហទរកឡា)
ថានក្់មានន្មោះថា រក្ឡាថ្ផទ ។
រែូវនធវើនឡើងដូចខាងនរកាមននោះ៖
class រកឡាថ្ហទ() :
ឡី = 3.14
print("រកឡាថ្ហទចរុ ណកាណកកងគ៖",
ឺ ថ្ហទរកឡា)
ឦវធហឦ = រកឡាថ្ហទ()
print(ឦវធហឦ)
ឦវហ
ធ ឦ = រកឡាថ្ហ(ទ ) េឺ ជាការយក្ថានក្់ន្មោះ រក្ឡាថ្ផទ មក្នរបើ នដាយភាាប់ន្មោះ លទធផល
នៅនឹងវែថុតដលរែូវានបនងកើែនឡើងនដាយារការយក្ថានក្់ន ោះមក្នរបើ ។
print(ឦវហ
ធ ឦ) េឺជាបញ្
ា ែរមូវឲ្យសរនសរវែថុន្មោះ លទធផល តដលជាវែថុានមក្ពី ការយក្
ការបនងកើែសិសេថ្នថានក្់ន ោះ (instantiation) ។
នរៅពីការបនងកើែសិសេមានក្់នចញពីថានក្់ណាមួយ នយើងបនងកើែសិសេជានរចើនរាប់មិនអស់នចញ
class រកឡាថ្ហទ() :
ឡី = 3.14
print("រកឡាថ្ហទចរុ ណកាណកកងគ៖",
ឺ ថ្ហទរកឡា)
ទំព័រ 163
សិសសក = រកឡាថ្ហទ()
សិសសខ = រកឡាថ្ហទ()
សិសសគ = រកឡាថ្ហទ()
print(សិសសក)
print(សិសសខ)
print(សិសសគ)
សិសេក្ មានក្់។
សិសេខ្ មានក្់នទៀែ។
សិសេេ មានក្់នទៀែ។
នយើងានដឹងរួចមក្នហើយថា ការយក្ថានក្់មក្នរបើមិនតមនជាការយក្សមបែតិនៅក្នុងថានក្់មក្
រែូវនធវើដូចខាងនរកាមននោះ៖
class រកឡាថ្ហទ() :
ឡី = 3.14
print("រកឡាថ្ហទចរុ ណកាណកកងគ៖",
ឺ ថ្ហទរកឡា)
សិសសក = រកឡាថ្ហទ()
print(រកឡាថ្ហទ.ឡី)
print(សិសសក.ឡី)
សិសសក.រកឡាថ្ហទចរុ ណកាណកកង(25, 5)
print(សិសសក.ឡី) េឺ ជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យយក្ទិននន័យេំរនូ ្មោះ ពី មក្
រកឡាថ្ហ.ទ រកឡាថ្ហច
ទ រុណកាណកកង(សិសសក, 25, 5) េឺជាបញ្
ា ែរមូវឲ្យយក្វ ិធី ន្មោះ
សិសសក.រកឡាថ្ហច
ទ រុណកាណកកង(25, 5) េឺជាបញ្
ា ែរមូវឲ្យយក្វ ិធីន្មោះ
វ ិធី ន ោះ។
សរមាប់ដំណាងទី មួយនឡើយ។
នរៅពីការយក្សមបែតិនៅក្នុងថានក្់មក្នរបើ នយើងអាចបតនថមវែថុនផេងៗនទៀែចូលនៅក្នុងថានក្់
់ ិសស, កា ំ) :
def ថ្ហទឥងវង(ស
S = កា ំ * កា ំ * 3.14
់ ឺ៖", S)
print("រកឡាថ្ហទឥងវងគ
ករឣងឧមាររ
ិ = [25, 5]
class រកឡាថ្ហទ() :
ឡី = 3.14
print("រកឡាថ្ហទចរុ ណកាណកកងគ៖",
ឺ ថ្ហទរកឡា)
រកឡាថ្ហទ.រកឡាថ្ហទឥងវង់ = ថ្ហទឥងវង់
រកឡាថ្ហទ.ឧមាររ
ិ = ករឣងឧមាររ
ិ
help(រកឡាថ្ហទ)
ទំព័រ 166
វ ់ = ថ្ហឥទ ងង
រកឡាថ្ហ.ទ រកឡាថ្ហឥទ ងង វ ់ េឺ ជាបញ្
ា ែរមូវឲ្យបតនថមក្បួនន្មោះ ថ្ផទរងវង់ មួយនទៀែ
នៅក្នុងថានក្់ន្មោះ រក្ឡាថ្ផទ ។
រកឡាថ្ហ.ទ ឧមាររ
ិ = ករឣងឧមាររ
ិ ា ែរមូវឲ្យបតនថមក្រមងអនងរន្មោះ ក្រមងវ ិមារែ
េឺ ជាបញ្
ាថបនិក
class រកឡាថ្ហទ() :
ឡី = 3.14
def __init__(សិសស) :
print("ោថសឞិកររូឧាឞឤកណៅណរស។")
ើ
print("រកឡាថ្ហទចរុ ណកាណកកងគ៖",
ឺ ថ្ហទរកឡា)
សិសសក = រកឡាថ្ហទ()
ទំព័រ 167
រែូវយក្មក្នរបើជាសវ័យរបវែតិ។
ាថបនិក្នៅនពលបនតិចនទៀែននោះ។
វិធី
ន ោះ រែូវតែជាដំណាងតដលនៅខាងនដើមនេបំផុែ។ ការទមទរឲ្យមានដំណាងនលើសមួយនៅ
ក្ំហុសសតីពីការមានដំណាងមិនរេប់រោន់នឹងនក្ើែមាននឡើង។ នហែុដូចននោះនហើយានជា
ទំព័រ 168
class រកឡាថ្ហទ() :
ឡី = 3.14
def __init__(សិសស) :
print("ោថសឞិកររូឧាឞឤកណៅណរស។")
ើ
print("រកឡាថ្ហទចរុ ណកាណកកងគ៖",
ឺ ថ្ហទរកឡា)
សិសសក = រកឡាថ្ហទ()
សិសសក.រកឡាថ្ហទចរុ ណកាណកកង(25, 5)
ជាដំណាងទី មួយសរមាប់ទទួលយក្ដំណ្ឹងតដលជាសិសេតដលនឹងរែូវបនងកើែនឡើងនៅនពល
តដលថានក្់រែូវយក្នៅនរបើ ។
def រកឡាថ្ហច
ទ រុណកាណកកង(សិសស, សណតោ ឤ, វវឹង) : េឺ ជាបញ្
ា ែរមូវរឲ្បនងកើែវ ិធី ន្មោះ
ដំណ្ឹងតដលនឹងជាសិសេណាមានក្់។
ទំព័រ 169
សិសសក.រកឡាថ្ហច
ទ រុណកាណកកង(25, 5) េឺជាការយក្វ ិធីន្មោះ រក្ឡាថ្ផទចែុនកាណ្តក្ង មក្
នរបៀបាននៅនឹងវែថុមួយតដលរែូវានទទួលយក្នហើយរូចទុក្នចាល វានឹងមិនបងកឲ្យមាន
នឡើង។
។ ពិនិែយក្មមវ ិធីខាងនរកាមននោះ៖
class រកឡាថ្ហទ() :
ឡី = 3.14
def __init__(សិសស) :
print("ោថសឞិកររូឧាឞឤកណៅណរស។")
ើ
print("រកឡាថ្ហទចរុ ណកាណកកងគ៖",
ឺ ថ្ហទរកឡា)
សិសសក = រកឡាថ្ហទ()
រកឡាថ្ហ.ទ រកឡាថ្ហច
ទ រុណកាណកកង(សិសសក, 25, 5) េឺជាការវ ិធីន្មោះ
រកឡាថ្ហ.ទ រកឡាថ្ហច
ទ រុណកាណកកង(True, 25, 5) េឺ ជាការយក្វ ិធី ន្មោះ
ន ោះនរៀងោន។
ទំព័រ 171
នរកាមននោះ៖
class រកឡាថ្ហទ() :
ឡី = 3.14
def __init__(សិសស) :
print("ោថសឞិកររូឧាឞឤកណៅណរស។")
ើ
return ថ្ហទរកឡា
print("រកឡាថ្ហទចរុ ណកាណកកងគ៖",
ឺ សិសស.រកឡាថ្ហទចរុ ណកាណកកង(សណតោ ឤ, វវឹង))
សិសសក = រកឡាថ្ហទ()
សិសសក.សងាាញឦវធហឦ(25, 5)
តដលជាវ ិធីសិែ
ថ នៅក្នុងថានក្់ជាមួយនឹងទិននន័យេរមូន ោះ។ ដូចននោះការយក្ទិននន័យេរមូមក្
នរបើអាចរែូវនធវើនឡើងតមរយៈថានក្់របស់វា។
សិសស.រកឡាថ្ហច
ទ រុណកាណកកង(សណតោ ឤ, វវឹង) េឺជាការយក្វ ិធី ន្មោះ
ដំណ្ឹងនផេងៗនរៅពីសិសេាន។ នដាយាថបនិក្រែូវយក្នៅនរបើនៅនពលតដលថានក្់រែូវយក្
class រកឡាថ្ហទ() :
ឡី = 3.14
សិសស.សងាាញឦវធហឦ(សណតោ ឤ, វវឹង)
return ថ្ហទរកឡា
print("រកឡាថ្ហទចរុ ណកាណកកងគ៖",
ឺ សិសស.រកឡាថ្ហទចរុ ណកាណកកង(សណតោ ឤ, វវឹង))
សិសសក = រកឡាថ្ហទ(25, 5)
ដំណាង បនណា
ត យ និង ទទឹង សរមាប់ទទួលយក្ដំណ្ឹងតដលមិនតមនជាសិសេ។
ទំព័រ 173
ជាដំណ្ឹងសរមាប់ដំណាង បនណា
ត យ និ ង ទទឹង នៅក្នុងាថបនិក្ថ្នថានក្់ន ោះ។
ទិនែន័យ គម្មូ
class រកឡាថ្ហទ() :
ឡី = 3.14
សិសស.សងាាញឦវធហឦ(សណតោ ឤ, វវឹង)
return ថ្ហទរកឡា
print("រកឡាថ្ហទចរុ ណកាណកកងគ៖",
ឺ សិសស.រកឡាថ្ហទចរុ ណកាណកកង(សណតោ ឤ, វវឹង))
សិសសក = រកឡាថ្ហទ(25, 5)
print(រកឡាថ្ហទ.ឡី)
ទំព័រ 174
បស់ទិននន័យន ោះ។
class រកឡាថ្ហទ() :
ឡី = 3.14
សិសស.សងាាញឦវធហឦ(សណតោ ឤ, វវឹង)
return ថ្ហទរកឡា
print("រកឡាថ្ហទចរុ ណកាណកកងគ៖",
ឺ សិសស.រកឡាថ្ហទចរុ ណកាណកកង(សណតោ ឤ, វវឹង))
រកឡាថ្ហទ.ឡី = 3.1415
print("វិឞនឞ័ឤគរឣូណ្មោះ ឡី លមគ
ី ៖",
ឺ រកឡាថ្ហទ.ឡី)
ទំព័រ 175
នយើងរែូវនធវើការក្ែ់សំោល់ថា ការយក្ទិននន័យេរមូមក្នដាោះដូរងមីេឺរែូវតែនធវើនឡើងតមរយៈ
សិសស
នយើងានដឹងរួចមក្នហើយថាសិសេេឺជាវែថុតដលជាលទធផលានមក្ពីការយក្ថានក្់មក្នរបើ។
ដូចននោះសិសេមានលក្ខណ្ៈដូចជាវែថុដថ្ទនទៀែតដរ ានន័យថានៅក្តនលងណាតដលវែថុនផេងៗ
នៅក្នុងតដនក្ំណ្ែ់ ដថ្ទនទៀែាន។
យនតការននោះេឺជាចាប់នៅក្នុងភាា Python ។
របការតដលសំខាន់មួយនទៀែេឺ ថា សិសេេឺជាវែថុតដលជាក្តនលងទនទាអែមួយនៅក្នុងសែិ
ក្មមវ ិធីដូចខាងនរកាមននោះ៖
ទំព័រ 176
class រកឡាថ្ហទ() :
ឡី = 3.14
def __init__(សិសស) :
print("ោថសឞិកាឞររូឧឤកណៅណរស។")
ើ
return ថ្ហទរកឡា
សិសសក = រកឡាថ្ហទ()
សិសសក.សណតោ ឤ = 25
សិសសក.វវឹង = 5
print(សិសសក.សណតោ ឤ)
print(សិសសក.វវឹង)
សិសសក.សណតោ ឤ = 25 េឺ ជាបញ្
ា ែរមូវឲ្យបនងកើែចំនួនេែ់នលខ្ 25 មួយមានន្មោះថា
បនណា
ត យ ទុក្នៅក្នុងសិសេន្មោះ សិសេក្ ។
សិសសក.វវឹង = 5 េឺ ជាបញ្
ា ែរមូវឲ្យបនងកើែចំនួនេែ់នលខ្ 5 មួយនទៀែមានន្មោះថា ទទឹង
print(សិសសក.សណតោ ឤ) េឺ ជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យយក្វែថុន្មោះ
បនណា
ត យ តដលសថិែនៅក្នុងសិសេន្មោះ សិសេក្ មក្នរបើ ការ។
print(សិសសក.វវឹង) េឺជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យយក្វែថុន្មោះ ទទឹង តដល
នេនិយមបនងកើែវែថុតដលជាទិននន័យនផេងៗទុក្នៅក្នុងសិសេនដើមបីក្ុំឲ្យរចឡំនៅនឹងវែថុនផេងៗ
នទៀែតដលមានន្មោះដូចោន។
ការបនងកើែសមបែតិសិសេអាចរែូវនធវើតមរនបៀបម៉ាងនទៀែដូចខាងនរកាមននោះ៖
class រកឡាថ្ហទ() :
ឡី = 3.14
សិសស.សណតោ ឤ = សណតោ ឤ
សិសស.វវឹង = វវឹង
return ថ្ហទរកឡា
សិសសក = រកឡាថ្ហទ(25, 5)
print(សិសសក.សណតោ ឤ)
print(សិសសក.វវឹង)
សវ័យរបវែតិ តដលជារបការបណា
ត លឲ្យសិសេន្មោះ សិសេក្ តដលនទើបនឹងរែូវានបនងកើែន ោះ
មក្នទៀែ រក្រមបញ្
ា នៅក្នុងាថបនិក្ន ោះក្៍ រែូវានយក្នៅអនុវែតតដរ តដលជារបការនធវើឲ្យ
សមបែតិន្មោះ បនណា
ត យ និង ទទឹង រែូវានបនងកើែនឡើងនិងទុក្នៅក្នុងសិសេន្មោះ សិសេក្
ណាមួយ នហើយជាទូនៅនេនរចើននរបើាថបនិក្ជាក្តនលងសរមាប់បនងកើែសមបែតិសិសេនផេងៗ។
បនងកើែសមបែតិសិសេទំងពួង។
ានរេប់នពលនវលា។ នហើយការនដាោះដូរននោះអាចរែូវនធវើនឡើងនៅខាងក្នុងថានក្់និងឬនៅខាង
class រកឡាថ្ហទ() :
ទំព័រ 179
ឡី = 3.14
សិសស.សណតោ ឤ = សណតោ ឤ
សិសស.វវឹង = វវឹង
def ដូ ឥសឣបរោស
ិ ិសស(សិសស, សណតោ ឤលម)ី :
return ថ្ហទរកឡា
សិសសក = រកឡាថ្ហទ(25, 5)
សិសសក.ដូ ឥសឣបរោស
ិ ិសស(50)
សិសសក.វវឹង = 10
print(សិសសក.សណតោ ឤ)
print(សិសសក.វវឹង)
សិសសក.ដូឥសឣបរិស
ោ ិសស(50) េឺជាការយក្វ ិធីន្មោះ ដូរសមបែតិសិសេ មក្នរបើ តមរយៈសិសេ
សិសសក.វវឹង = 10 េឺជាបញ្
ា ែរមូវឲ្យនធវើការនដាោះដូរសមបែតិន្មោះ ទទឹង របស់សិសេន្មោះ
class រកឡាថ្ហទ() :
ឡី = 3.14
សិសស.ឡី = ឡី
return ថ្ហទរកឡា
សិសសក = រកឡាថ្ហទ(3.1415)
សិសសខ = រកឡាថ្ហទ(3.141592)
print(សិសសក.ឡី)
print(សិសសខ.ឡី)
ឡី = 3.14 េឺ ជាបញ្
ា ែរមូវឲ្យបនងកើែទិននន័យេរមូន្មោះ ពី មួយតដលជាសមបែតិនៅក្នុងថានក្់
ន្មោះ រក្ឡាថ្ផទ ។
ទំព័រ 181
មួយជាន្មោះ ពី ។
សិសស.ឡី = ឡី េឺ ជាបញ្
ា ែរមូវឲ្យបនងកើែសមបែតិន្មោះ ពី មួយទុក្នៅក្នុងសិសេតដលមាន
3.1415 ន ោះតដរ។
ជាដំណាងនៅក្នុងាថបនិក្រែូវានលុបនចាលវ ិញនៅនពលតដលាថបនិក្រែូវយក្នៅនរបើរច
ួ
សថិែនៅរហូែដល់សិសេន ោះរែូវលុបនចាល។
ទំព័រ 182
សិសេក្.ពី = ពី
សិសេក្ ាថបនិក្
ពី ពី
3.1415
សិសេខ្ ន ោះ។
សិសេខ្.ពី = ពី
សិសេខ្ ាថបនិក្
ពី ពី
3.141592
សិសេពីរនផេងោន។
ទំព័រ 183
សិសេក្ សិសេខ្
ពី ពី
3.1415 3.141592
print(សិសសក.ឡី) េឺ ជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យយក្វែថុន្មោះ ពី មក្នរបើ តម
print(សិសសខ.ឡី) េឺ ជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យយក្វែថុន្មោះ ពី មក្នរបើ តម
- ន្មោះ ពី មួយនទៀែតដលជាដំណាងនៅក្នុងាថបនិក្រែូវានបនងកើែនឡើងនដើមបីភាាប់នៅ
វ ិញនៅនពលតដលាថបនិក្រែូវានយក្នៅនរបើរច
ួ នហើយ។
នដាយនហែុថានយើងអាចបនងកើែសមបែតិមានន្មោះដូចោននៅក្នុងថានក្់និងនៅក្នុងសិសេ ដូចននោះ
ការប៉ុនប៉ងយក្សមបែតិក្ុងថា
ន ន ក្់មក្នធវើការនដាោះដូរតមរយៈសិសេ េឺជាការបនងកើែសមបែតិសិសេ
class រកឡាថ្ហទ() :
ឡី = 3.14
def __init__(សិសស) :
print("ោថសឞិកររូឧាឞឤកណៅណរស។")
ើ
return ថ្ហទរកឡា
សិសសក = រកឡាថ្ហទ()
សិសសក.ឡី = 3.1415
print(រកឡាថ្ហទ.ឡី)
print(សិសសក.ឡី)
ទំព័រ 185
ន្មោះ ពី មក្នធវើការនដាោះដូរនឡើយ។
ដូចននោះរេប់ការយក្ទិននន័យេរមូមក្នធវើការនដាោះដូរ រែូវតែរែូវនធវើនឡើងតមរយៈថានក្់របស់វែថុ
ន ោះ។
ការបនត ថ្នែក់
បនងកើែថានក្់មួយបនតភាាប់នៅនឹងថានក្់មួយនទៀែ នយើងរែូវនធវើដូចខាងនរកាមននោះ៖
class រកឡាថ្ហទ() :
ឡី = 3.14
def __init__(សិសស) :
def ថ្ហទរកឡា(សិសស) :
ទំព័រ 186
print("ថ្ហទរកឡា")
print("ថ្ហទរកឡាចរុ ណកាណកកងគ៖",
ឺ ថ្ហទ)
រក្ឡាថ្ផទ
ចែុនកាណ្តក្ង
class រកឡាថ្ហទ() :
ឡី = 3.14
def __init__(សិសស) :
ទំព័រ 187
def ថ្ហទរកឡា(សិសស) :
print("ថ្ហទរកឡា")
print("ថ្ហទរកឡាចរុ ណកាណកកងគ៖",
ឺ ថ្ហទ)
print(ចរុ ណកាណកកង.ឡី)
ចរុ សិសស.ថ្ហទរកឡា()
print(ចរុណកាណកកង.ឡី) េឺ ជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យយក្ទិននន័យេរមូន្មោះ
ចរុសិសស.ថ្ហច
ទ រុណកាណកកង() េឺ ជាការយក្វ ិធី ន្មោះ ចែុនកាណ្តក្ង មក្នរបើ តមរយៈសិសេ
ចែុនកាណ្តក្ង ។
សរុបមក្ នៅនពលតដលសមបែតិណាមួយរែូវានយក្មក្នរបើតមរយៈសិសេណាមានក្់
ថានក្់នម
ថានក្់រង
សិសេ
ទំព័រ 189
បនងកើែថានក្់មួយបនតភាាប់នៅនឹងថានក្់មួយនទៀែតដលរែូវានបនតភាាប់នៅនឹងថានក្់មួយនទៀែ
តដលរែូវានបនតភាាប់នៅនឹងថានក្់មួយនទៀែ...
ពិនិែយក្មមវ ិធីខាងនរកាមននោះ៖
class រកឡាថ្ហទ() :
ឡី = 3.14
def __init__(សិសស) :
def ថ្ហទរកឡា(សិសស) :
print("ថ្ហទរកឡា")
print("ថ្ហទរកឡាចរុ ណកាណកកងគ៖",
ឺ ថ្ហទ)
def ថ្ហទររណកាណ(ស
ី ិសស, ារ, កំឡស់) :
ថ្ហទ = ារ * កំឡស់ / 2
print("រកឡាថ្ហទររណកាណគ
ី ៖",
ឺ ថ្ហទ)
ថានក្់ន្មោះ ចែុនកាណ្តក្ង ។
រក្ឡាថ្ផទ
ចែុនកាណ្តក្ង
រែីនកាណ្
ននោះ៖
class រកឡាថ្ហទ() :
ឡី = 3.14
def __init__(សិសស) :
def ថ្ហទរកឡា(សិសស) :
print("ថ្ហទរកឡា")
print("ថ្ហទរកឡាចរុ ណកាណកកងគ៖",
ឺ ថ្ហទ)
class ររណកាណ(ចរុ
ី ណកាណកកង) :
def ថ្ហទររណកាណ(ស
ី ិសស, ារ, កំឡស់) :
ថ្ហទ = ារ * កំឡស់ / 2
print("រកឡាថ្ហទររីណកាណគឺ៖", ថ្ហទ)
សិសសក = ររណកាណ()
ី
សិសសក.ថ្ហទររណកាណ(25,
ី 5)
សិសសក.ថ្ហទចរុ ណកាណកកង(25, 5)
print(ររីណកាណ.ឡី)
បំផុែ។
ត លឲ្យការតសវងរក្វ ិធី ន
ន្មោះ សិសេក្ ។ របការននោះបណា ោះរែូវនធវើនឡើងជាដំបូងនៅក្នុង
សិសសក.ថ្ហច
ទ រុណកាណកកង(25, 5) េឺជាការយក្វ ិធី ន្មោះ ថ្ផទចែុនកាណ្តក្ង មក្នរបើតមរយៈ
ត លឲ្យការតសវងរក្វ ិធី ន
សិសេន្មោះ សិសេក្ ។ របការននោះបណា ោះរែូវនធវើនឡើងជាដំបូង
ការតសវងរក្សមបែតិនផេងៗអាចរែូវតងនដាយេំនូសបំរពួញដូចខាងនរកាមននោះ៖
ថានក្់នម
ថានក្់នម
ថានក្់រង
សិសេ
ទំព័រ 193
class រកឡាថ្ហទ() :
ឡី = 3.14
def __init__(សិសស) :
def ថ្ហទរកឡា(សិសស) :
print("ថ្ហទរកឡា")
print("ថ្ហទរកឡាចរុ ណកាណកកងគ៖",
ឺ ថ្ហទ)
class ររណកាណ(ចរុ
ី ណកាណកកង) :
ថ្ហទ = ារ * កំឡស់ / 2
print("រកឡាថ្ហទររណកាណគ
ី ៖",
ឺ ថ្ហទ)
សិសសក.ថ្ហទររីណកាណ(25, 5)
ចរុ ណកាណកកង.ថ្ហទររណកាណ(ស
ី ិសស, 25, 5)
ទំព័រ 194
នឡើយ។ របការននោះបណា
ត លឲ្យក្ំហុសមួយាននក្ើែមាននឡើង។
នឡើយ។
ក្នុងសិសេនិងថានក្់នផេងៗ។
ទំព័រ 195
ការតសវងរក្វែថុពីររបនភទរែូវនធវើនឡើងក្នុងនពលជាមួយោន។ មុនដំបូងេឺការតសវងរក្វែថុតដលជា
ការតសវងរក្សមបែតិនៅក្នុងសិសេនិងថានក្់នផេងៗ។
នដាយថានក្់ក្៍ជាតដនក្ំណ្ែ់មួយតដរ ដូចននោះសមបែតិនៅក្នុងថានក្់និមួយៗមិនអាចរែូវរចឡំនៅ
ោននឹងនក្ើែមាននឡើង។
នៅក្នុងក្រណ្ីមានការបនតថានក្់តដលមានសមបែតិមានន្មោះដូចោន នៅនពលតដលសមបែតិទំង
នរកាមននោះ៖
class រកឡាថ្ហទ() :
ឡី = 3.14
សិសស.ឧមាររ
ិ = ឧមាររ
ិ
def ថ្ហទរកឡា(សិសស) :
print("ថ្ហទរកឡា")
សិសស.សណតោ ឤ = សណតោ ឤ
សិសស.វវឹង = វវឹង
def ថ្ហទរកឡា(សិសស) :
print("ថ្ហទរកឡាចរុ ណកាណកកងគ៖",
ឺ ថ្ហទ)
class ររណកាណ(ចរុ
ី ណកាណកកង) :
សិសស.ារ = ារ
សិសស.កំឡស់ = កំឡស់
def ថ្ហទរកឡា(សិសស) :
print("រកឡាថ្ហទររីណកាណគឺ៖", ថ្ហទ)
សិសសររណកាណ
ី = ររណកាណ(25,
ី 5)
សិសសររណកាណ.ថ្ហទ
ី រកឡា()
សិសសចរុ ណកាណ.ថ្ហទរកឡា()
ទំព័រ 197
សិសសររណកាណ
ី = ររីណកាណ(25, 5) េឺ ជាការបនងកើែសិសេន្មោះ សិសេរែីនកាណ្ មានក្់តដល
រែូវយក្នៅនរបើជាសវ័យរបវែតិ។
សវ័យរបវែតិ។
ន ោះនហើយតដលរែូវយក្នៅនរបើជាសវ័យរបវែតិ។
នរកាមននោះ៖
class រកឡាថ្ហទ() :
ឡី = 3.14
សិសស.ឧមាររ
ិ = ឧមាររ
ិ
def ថ្ហទរកឡា(សិសស) :
return សិសស.ឧមាររ
ិ
super().__init__(សណតោ ឤ, វវឹង)
def ថ្ហទរកឡា(សិសស) :
ចរុ ឧមាររ
ិ = super().ថ្ហទរកឡា()
return ថ្ហទ
super().__init__(ារ, កំឡស់)
def ថ្ហទរកឡា(សិសស) :
ថ្ហទ = super().ថ្ហទរកឡា() / 2
print("រកឡាថ្ហទររណកាណគ
ី ៖",
ឺ ថ្ហទ)
សិសសររីណកាណ = ររីណកាណ(25, 5)
សិសសររណកាណ.ថ្ហទ
ី រកឡា()
ចរុឧមាររ
ិ = super().ថ្ហរទ កឡា() េឺ ជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យយក្វ ិធីរែូវនេ
ចែុនកាណ្តក្ង ក្៍រែូវយក្នៅនរបើតដរ។
យក្មក្នរបើជាសវ័យរបវែតិ តដលជានហែុបណា
ត លឲ្យាថបនិក្ថ្នថានក្់នមន្មោះ ចែុនកាណ្តក្ង
ជាបនតប ទ ប់ជាប់ោនរនយាងដូចជាសមលររក្ពិស។
សិសសររណកាណ.ថ្ហ
ី រទ កឡា() េឺជាការយក្វ ិធី ន្មោះ ថ្ផទរក្ឡា មក្នរបើតមរយៈសិសេន្មោះ
ពហុបនតថ្នែក់
ខាងនរកាមននោះ៖
class រកឡាថ្ហទ() :
ឡី = 3.14
សិសស.ឧមាររ
ិ = ឧមាររ
ិ
def ថ្ហទរកឡា(សិសស) :
return សិសស.ឧមាររ
ិ
class មាឌ() :
ឡី = 3.1415
សិសស.ឧមាររ
ិ = ឧមាររ
ិ
def មាឌ(សិសស) :
return សិសស.ឧមាររ
ិ
ទំព័រ 203
class គស(រកឡាថ្ហទ
ី , មាឌ) :
សិសស.ឧមាររ
ិ = ឧមាររ
ិ
def ថ្ហទរកឡា(សិសស) :
ថ្ហទ = សិសស.ឧមាររ[0]
ិ * សិសស.ឧមាររ[1]
ិ *6
print("រកឡាថ្ហទគសគ
ី ៖",
ឺ ថ្ហទ)
def មាឌ(សិសស) :
មាឌគស
ី = សិសស.ឧមាររ[0]
ិ * សិសស.ឧមាររ[1]
ិ * សិសស.ឧមាររ[2]
ិ
print("មាឌឥសស់គសគ
ី ឺ៖", មាឌគស)
ី
class គស(រកឡាថ្ហ
ី ,ទ មាឌ) : េឺ ជាការបនងកើែថានក្់ រងន្មោះ េី ប មួ យបនតភាាប់នៅនឹ ងថានក្់នម
រក្ឡាថ្ផទ មាឌ
េីប
ទំងន ោះរែូវនធវើនឡើងដូចនៅក្នុងេំនូរបំរពួញដូចខាងនរកាមននោះ៖
ទំព័រ 204
ថានក្់នម ថានក្់នម
ថានក្់នម ថានក្់នម
ថានក្់នម ថានក្់នម
ថានក្់នម ថានក្់នម
ថានក្់រង ថានក្់រង
សិសេ
ទំព័រ 205
េឺថានបើការយក្សមបែតិនៅនរបើរែូវនធវើនឡើងតមរយៈសិសេថ្នថានក្់ រង ការតសវងរក្សមបែតិន ោះ
ន ើញនទើបឈប់។ នហើយក្នុងក្រណ្ីតដលមានសមបែតិមានន្មោះដូចោនជានរចើននៅក្នុងថានក្់
នរកាមននោះ៖
class រកឡាថ្ហទ() :
ឡី = 3.14
សិសស.ឧមាររ
ិ = ឧមាររ
ិ
def ថ្ហទរកឡា(សិសស) :
return សិសស.ឧមាររ
ិ
class មាឌ() :
ឡី = 3.1415
សិសស.ឧមាររ
ិ = ឧមាររ
ិ
def មាឌ(សិសស) :
return សិសស.ឧមាររ
ិ
class គស(រកឡាថ្ហទ
ី , មាឌ) :
សិសស.ឧមាររ
ិ = ឧមាររ
ិ
ទំព័រ 206
def ថ្ហទរកឡា(សិសស) :
ថ្ហទ = សិសស.ឧមាររ[0]
ិ * សិសស.ឧមាររ[1]
ិ *6
print("រកឡាថ្ហទគីសគឺ៖", ថ្ហទ)
def មាឌ(សិសស) :
មាឌគស
ី = សិសស.ឧមាររ[0]
ិ * សិសស.ឧមាររ[1]
ិ * សិសស.ឧមាររ[2]
ិ
print("មាឌឥសស់គសគ
ី ឺ៖", មាឌគស)
ី
សិសសគស
ី = គស(25,
ី 5, 10)
សិសសគស.ថ្ហទ
ី រកឡា()
សិសសគស.មាឌ()
ី
print(សិសសគីស.ឡី)
សិសសគស
ី = គស(25
ី , 5, 10) េឺជាការយក្ថានក្់ន្មោះ េី ប មក្នរបើ នដើ មបីបនងកើែសិសេន្មោះ
សិសសគស.ថ្ហ
ី រទ កឡា() េឺជាការយក្វ ិធី ន្មោះ ថ្ផទរក្ឡា មក្នរបើតមរយៈសិសេន្មោះ
បនតប ទ ប់រហូែដល់វ ិធីមានន្មោះដូចន ោះរែូវរក្ន ើញ។ នហើយេឺវ ិធី ន្មោះ ថ្ផទរក្ឡា នៅក្នុង
រហូែដល់វ ិធីន ោះរែូវរក្ន ើញ។ នហើយេឺ វ ិធីន្មោះ មាឌ នៅក្នុងថានក្់ន្មោះ េីប តដលរែូវយក្
print(សិសសគីស.ឡី) េឺ ជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យយក្សមបែតិន្មោះ ពី មក្នរបើ
នយើងរែូវសរនសរក្មមវ ិធីដូចខាងនរកាមននោះ៖
class រកឡាថ្ហទ() :
ឡី = 3.14
សិសស.ឧមាររថ្ហទ
ិ រកឡា = ឧមាររ
ិ
def ថ្ហទរកឡា(សិសស) :
return សិសស.ឧមាររថ្ហទ
ិ រកឡា
class មាឌ() :
ទំព័រ 208
ឡី = 3.1415
សិសស.ឧមាររមាឌ
ិ = ឧមាររ
ិ
def មាឌ(សិសស) :
return សិសស.ឧមាររមាឌ
ិ
super().__init__(សណតោ ឤ, វវឹង)
def ថ្ហទរកឡា(សិសស) :
ឧមាររថ្ហទ
ិ រកឡា = super().ថ្ហទរកឡា()
ថ្ហទ = ឧមាររថ្ហទ
ិ រកឡា[0] * ឧមាររថ្ហទ
ិ រកឡា[1] * 6
print("រកឡាថ្ហទគសគ
ី ៖",
ឺ ថ្ហទ)
def មាឌ(សិសស) :
ឧមាររមាឌ
ិ = super().មាឌ()
មាឌគស
ី = ឧមាររមាឌ[0]
ិ * ឧមាររមាឌ[1]
ិ * ឧមាររមាឌ[2]
ិ
print("មាឌឥសស់គសគ
ី ឺ៖", មាឌគស)
ី
សិសសគស
ី = គស(25,
ី 5, 10)
សិសសគស.ថ្ហទ
ី រកឡា()
សិសសគស.មាឌ()
ី
ទំព័រ 209
ឧមាររថ្ហ
ិ រទ កឡា = super().ថ្ហរទ កឡា() េឺជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យយក្វ ិធី
ឧមាររមាឌ
ិ = super().មាឌ() េឺ ជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យយក្វ ិធី ន្មោះ មាឌ
សិសសគស
ី = គស(25
ី , 5, 10) េឺជាការយក្ថានក្់ន្មោះ េី ប មក្នរបើនដើ មបីបនងកើែសិសេន្មោះ
។
ទំព័រ 210
សិសសគស.មាឌ()
ី េឺ ជាការយក្វ ិធីន្មោះ មាឌ មក្នរបើ តមរយៈសិសេន្មោះ សិសេេីប ។
រួចាននឡើងនៅថានក្់របស់សិសេន ោះ រួចាននឡើងនៅថានក្់នមថ្នថានក្់របស់សិសេ
ការបនតថ្នែក់ រាងចត្ុឈកាណឈសមើ
class ឝឥណីមាររ() :
pi = 180
ទំព័រ 211
print(ឡ័រ៌មាឞ)
class រកឡាថ្ហទ(ឝឥណីមាររ) :
ឡី = 3.14
សិសស.ឧមាររថ្ហទ
ិ រកឡា = ឧមាររ
ិ
def ថ្ហទរកឡា(សិសស) :
return សិសស.ឧមាររថ្ហទ
ិ រកឡា
class មាឌ(ឝឥណីមាររ) :
pi = 3.1415
សិសស.ឧមាររមាឌ
ិ = ឧមាររ
ិ
def មាឌ(សិសស) :
return សិសស.ឧមាររមាឌ
ិ
class គស(រកឡាថ្ហទ
ី , មាឌ) :
def ថ្ហទរកឡា(សិសស) :
ឧមាររថ្ហទ
ិ រកឡា = រកឡាថ្ហទ.ថ្ហទរកឡា(សិសស)
ថ្ហទ = ឧមាររថ្ហទ
ិ រកឡា[0] * ឧមាររថ្ហទ
ិ រកឡា[1] * 6
ទំព័រ 212
print("រកឡាថ្ហទគសគ
ី ៖",
ឺ ថ្ហទ)
def មាឌ(សិសស) :
ឧមាររមាឌ
ិ = មាឌ.មាឌ(សិសស)
មាឌគស
ី = ឧមាររមាឌ[0]
ិ * ឧមាររមាឌ[1]
ិ * ឧមាររមាឌ[2]
ិ
print("មាឌឥសស់គសគ
ី ឺ៖", មាឌគស)
ី
ធរណ្ីមារែ
រក្ឡាថ្ផទ មាឌ
េីប
ទំព័រ 213
ការបនតថានក្់ដូចនៅក្នុងរូបខាងនលើននោះនៅថាការបនតថានក្់រាងចែុនកាណ្នសមើ នរពាោះទរមង់របស់
វាមានរាងជាចែុនកាណ្នសមើ។
ថានក្់នម
ថានក្់នម ថានក្់នម
ថានក្់រង
សិសេ
ននោះ៖
class ឝឥណីមាររ() :
pi = 180
print(ឡ័រ៌មាឞ)
class រកឡាថ្ហទ(ឝឥណីមាររ) :
ឡី = 3.14
សិសស.ឧមាររថ្ហទ
ិ រកឡា = ឧមាររ
ិ
def ថ្ហទរកឡា(សិសស) :
return សិសស.ឧមាររថ្ហទ
ិ រកឡា
class មាឌ(ឝឥណីមាររ) :
pi = 3.1415
សិសស.ឧមាររមាឌ
ិ = ឧមាររ
ិ
def មាឌ(សិសស) :
return សិសស.ឧមាររមាឌ
ិ
class គស(រកឡាថ្ហទ
ី , មាឌ) :
def ថ្ហទរកឡា(សិសស) :
ឧមាររថ្ហទ
ិ រកឡា = រកឡាថ្ហទ.ថ្ហទរកឡា(សិសស)
ថ្ហទ = ឧមាររថ្ហទ
ិ រកឡា[0] * ឧមាររថ្ហទ
ិ រកឡា[1] * 6
print("រកឡាថ្ហទគសគ
ី ៖",
ឺ ថ្ហទ)
def មាឌ(សិសស) :
ឧមាររមាឌ
ិ = មាឌ.មាឌ(សិសស)
មាឌគស
ី = ឧមាររមាឌ[0]
ិ * ឧមាររមាឌ[1]
ិ * ឧមាររមាឌ[2]
ិ
print("មាឌឥសស់គសគ
ី ឺ៖", មាឌគស)
ី
សិសសគស.ថ្ហទ
ី រកឡា()
សិសសគស.មាឌ()
ី
print(សិសសគស.pi)
ី
សិសសគស
ី = គស(25
ី , 5, 10) េឺជាការយក្ថានក្់ន្មោះ េី ប មក្នរបើនដើ មបីបនងកើែសិសេន្មោះ
សិសសគស.ថ្ហ
ី រទ កឡា() េឺជាការយក្វ ិធី ន្មោះ ថ្ផទរក្ឡា មក្នរបើតមរយៈសិសេន្មោះ
ថ្ផទរក្ឡា ន ោះរែូវរក្ន ើញ។ នហើយេឺ ជាវ ិធី ន្មោះ ថ្ផទរក្ឡា នៅក្នុងថានក្់ន្មោះ េីប តដលរែូវ
សិសសគស.មាឌ()
ី េឺ ជាការយក្វ ិធីន្មោះ មាឌ មក្នរបើ តមរយៈសិសេន្មោះ សិសេេីប ។
print(សិសសគស.
ី pi) េឺ ជាការយក្សមបែតិន្មោះ pi មក្នរបើតមរយៈសិសេន្មោះ សិសេេីប ។
ថ្នាក្់មានរាប់
ទុក្នៅក្នុងតដនក្ំណ្ែ់ ទូនៅជាមួយនឹងក្បួននផេងៗនទៀែ។
មានលក្ខណ្ៈខ្ុសតបលក្ពីការបនងកើែសិសេថ្នថានក្់ ធមមត។
នដើមបីឲ្យដឹងថានែើថានក្់របស់វែថុណាមួយជាអវីន ោះ នយើងរែូវនធវើដូចខាងនរកាមននោះ៖
ថ្លលឦក់ = 1000
ថ្លលវិញ = 800.5
ឡិរ = True
ឃ្លល = "អនកមាឞឥកាខសរ់"
print(type(ថ្លលឦក់))
print(type(ថ្លលវិញ))
print(type(ឡិរ))
print(type(ឃ្លល))
print(type(ករឣងណលឥចរឣរោះ))
ទំព័រ 218
print(type(ករឣងអណលឥចរឣរោះ))
print(type(ឧចនាឞុ រកឣចរឣរោះ))
print(type(សំណុំចរឣរោះ))
ល ក់)) េឺ ជាបញ្
print(type(ថ្លឦ ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យយក្ចំនួនេែ់ន្មោះ ថ្ងលលក្់
មក្ពិនិែយនមើលថានែើវាជាសិសេថ្នថានក្់ណាតដរ។ លទធផលបញ្
ា ក្់ រាប់ថា ថានក្់របស់វែថុតដល
print(type(ថ្លវ
ល ិ ញ)) េឺ ជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យយក្ចំនួនពិែន្មោះ ថ្ងលទិញ
មក្ពិនិែយនមើលថានែើវាជាសិសេថ្នថានក្់ណាតដរ។ លទធផលបញ្
ា ក្់ រាប់ថា ថានក្់របស់វែថុតដល
print(type(ឡិរ)) េឺ ជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យយក្ែក្កវែថុន្មោះ ពិែ មក្ពិនិែយ
នមើលថានែើវាជាសិសេថ្នថានក្់ណាតដរ។ លទធផលបញ្
ា ក្់ រាប់ថា ថានក្់ របស់វែថុតដលជាែក្កវែថុ
print(type(ឃ្លល)) េឺ ជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យយក្ក្រមងអក្េរន្មោះ ឃ្លល មក្
ពិនិែយនមើលថានែើវាជាសិសេថ្នថានក្់ណាតដរ។ លទធផលបញ្
ា ក្់ រាប់ថា ថានក្់របស់វែថុតដលជា
print(type(ករឣងណលឥចរឣរោះ)) េឺ ជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យយក្ក្រមងនងរ
print(type(ករឣងអណលឥចរឣរោះ)) េឺ ជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យយក្ក្រមងអនងរ
print(type(ករឣងអណលឥចរឣរោះ)) េឺ ជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យយក្ក្រមងអនងរ
print(type(ឧចនាឞុរកឣចរឣរោះ)) េឺ ជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យយក្វច នុរក្ម
ំ ុ ំ ចរឣរោះ)) េឺ ជាបញ្
print(type(សណ ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យយក្សំណ្ុំន្មោះ
ថ្នែក់ int
ចំនួនេែ់ដូចតដលធ្លលប់ាននធវើក្នលងមក្ នយើងក្៍អាចបនងកើែចំនួនេែ់នដាយយក្ថានក្់មានស្រាប់
ថ្លលឦក់ = int(1000)
ថ្លលវិញ = int(800.5)
print(ថ្លលឦក់)
ទំព័រ 220
print(ថ្លលវិញ)
ថ្លវ
ល ិញ = int(800.5) េឺជាការយក្ថានក្់មានស្រាប់ ន្មោះ int មក្នរបើ នដើមបីបនងកើែចំនួនេែ់
នរកាមននោះ៖
ថ្លលឦក់ = int(1000.33)
ថ្លលវិញ = int("800")
print(ថ្លលឦក់)
print(ថ្លលវិញ)
ឲ្យនៅជាចំនួនេែ់ 1000 ។
ថ្លវ
ល ិញ = int("800") េឺជាការយក្ថានក្់មានស្រាប់ ន្មោះ int មក្នរបើ នដើមបីតក្ក្រមងអក្េរ "800"
ឲ្យនៅជាចំនួនេែ់ 800 ។
ទំព័រ 221
តដលទក្់ទងនៅនឹងចំនួនេែ់។ នដើមបីពិនិែយនមើលសមបែតិនផេងៗតដលមាននៅក្នុងថានក្់មាន
help(int)
help(int) េឺ ជាបញ្
ា ែរមូវឲ្យយក្ថានក្់មានស្រាប់ ន្មោះ int មក្ពិនិែយនមើលសមបែតិនផេងៗតដល
មាននៅក្នុងន ោះ។
មុខ្ននោះ។
ថ្នែក់ float
នធវើដូចខាងនរកាមននោះ៖
ថ្លលឦក់ = float(1000.33)
ថ្លលវិញ = float(800)
print(ថ្លលឦក់)
print(ថ្លលវិញ)
ទំព័រ 222
ថ្លលឦក់ = float(1000)
ថ្លលវិញ = float("800")
print(ថ្លលឦក់)
print(ថ្លលវិញ)
ថ្លវ
ល ិញ = float("800") េឺជាការនរបើថានក្់ មានស្រាប់ ន្មោះ float នដើមបីតក្ក្រមងអក្េរ "800" ឲ្យ
នៅជាចំនួនពិែ 800.0 ។
help(float)
help(float) េឺ ជាបញ្
ា ែរមូវឲ្យយក្ថានក្់ មានស្រាប់ ន្មោះ float មក្ពិនិែយនមើល។
ទំព័រ 223
យក្នៅនរបើជាសវ័យរបវែតិនៅក្នុងកាលៈនទសៈដ៍ជាក្់លាក្់ណាមួយ។
ថ្នែក់ bool
ខាងនរកាមននោះ៖
print(bool(0))
print(bool(1.5))
print(bool("កឣមឧឝ
ិ ជាភាោ
ី Python"))
print(bool([ ]))
print(bool(0)) េឺ ជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យយក្ថានក្់មានស្រាប់ ន្មោះ bool
print(bool(1.5)) េឺជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យយក្ថានក្់មានស្រាប់ ន្មោះ bool
print(bool("កឣឧម ឝ
ិ ីជាភាោ Python")) េឺ ជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យយក្ថានក្់
។
ទំព័រ 224
មក្នរបើ នដើមបីតក្ក្រមងអនងរទនទមួយឲ្យនៅជាែក្កវែថុ។
មួយដ៍ជាក្់លាក្់។
ថ្នែក់ str
ឃ្លល = str("រក់ៗណឡញសំឡង់")
print(ឃ្លល)
ននោះ៖
ថ្លលឦក់ = str(1000)
ថ្លលវិញ = str(800.33)
print(ថ្លលឦក់)
print(ថ្លលវិញ)
ថ្លវ
ល ិញ = str(800.33) េឺ ជាការយក្ថានក្់មានស្រាប់ ន្មោះ str មក្នរបើ នដើមបីតក្ចំនួនពិែតដល
capitalize(…)
េឺជាវ ិធីនរបើសរមាប់ចមលងយក្ក្រមងអក្េរឡាតំងណាមួយមក្តក្ឲ្យនៅជាក្រមងអក្េរតដល
ឃ្លលណដឣ
ើ = str("python")
ឃ្លលលមី = ឃ្លលណដឣ
ើ .capitalize()
print(ឃ្លលលម)ី
ឃ្លលលីម = ឃ្លលណដឣ
ើ .capitalize() េឺ ជាការយក្វ ិធី ន្មោះ capitalize នៅក្នុងថានក្់មានស្រាប់ ន្មោះ
អក្េរនៅខាងនដើមនេជាអក្េរធំ ។
center(…)
េឺជាវ ិធីនរបើសរមាប់ចមលងយក្ក្រមងអក្េរណាមួយមក្បនងកើែជាក្រមងអក្េរងមីតដលមានអក្េរ
ឃ្លលណដឣ
ើ = str("python")
print(ឃ្លលលម)ី
ឃ្លលលីម = ឃ្លលណដើឣ.center(60, "~") េឺ ជាការយក្វ ិធី ន្មោះ center នៅក្នុងថានក្់ មានស្រាប់ ន្មោះ
count(…)
េឺជាវ ិធីនរបើសរមាប់រាប់ចំនួនពាក្យឬក្រមងអក្េរណាមួយតដលមាននៅក្នុងក្រមងណាមួយ
ចំឞួឞអកសឥ = ឃ្លលណដើឣ.count("រ")
ទំព័រ 227
print(ចំឞួឞអកសឥ)
format(…)
ឃ្លលលមី = ឃ្លលណដឣ
ើ .format("ថ្លលឦក់", ថ្លលឦក់=1000)
print(ឃ្លលលម)ី
index(…)
េឺជាវ ិធីនរបើសរមាប់រក្នលខ្នរៀងថ្នអក្េរទីមួយនៅក្នុងពាក្យណាមួយនៅក្នុងក្រមងអក្េរណា
ើ = str("ឦិខិរចារ់តា ំង")
ឃ្លលណដឣ
print(ណឦខណឥៀង)
ទំព័រ 228
ណឦខណឥៀង = ឃ្លលណដើឣ.index("ចារ់តាង")
ំ េឺជាការយក្វ ិធីន្មោះ index មក្នរបើនដើមបីរក្
ឃ្លលនដើម ។
join(…)
ពាកយ = str("ជា")
ឃ្លលលមី = ពាកយ.join(["កឣមឧឝ
ិ ",
ី "ភាោ Python"])
print(ឃ្លលលម)ី
ឃ្លលលីម = ពាកយ.join(["កឣឧម ឝ
ិ ី", "ភាោ Python"]) េឺ ជាការយក្វ ិធី ន្មោះ join មក្នរបើនដើមបី
replace(…)
េឺជាវ ិធីនរបើសរមាប់យក្ពាក្យណាមួយនៅជំនូសពាក្យនៅក្នុងក្រមងអក្េរណាមួយនផេងនទៀែ
។ ពិនិែយក្មមវ ិធីខាងនរកាមននោះ៖
ឃ្លល = str("រក់ៗណឡញសំឡង់")
់ "ពាង")
ឃ្លលលមី = ឃ្លល.replace("សំឡង",
print(ឃ្លលលម)ី
upper(…)
េឺជាវ ិធីនរបើសរមាប់ចមលងយក្ក្រមងអក្េរឡាតំងណាមួយមក្តក្ឲ្យនៅក្រមងអក្េរងមីមួយ
ឃ្លលលមី = ឃ្លល.upper()
print(ឃ្លលលម)ី
ថ្នែក់ tuple
ករឣងវី១ = tuple("Python")
ករឣងវ៤
ី = tuple({100, False, 200})
print(ករឣងវ១)
ី
print(ករឣងវី២)
print(ករឣងវី៣)
print(ករឣងវ៤)
ី
ទំព័រ 230
count(…)
ននោះ៖
ចំឞួឞធារុ = ករឣងចរឣរោះ.count(100)
print(ចំឞួឞធារុ )
index(..)
ទំព័រ 231
ខាងនរកាមននោះ៖
ណឦខណឥៀង = ករឣងចរឣរោះ.index('ថ្លលឦក់')
print(ណឦខណឥៀង)
ថ្នែក់ list
។ ពិនិែយក្មមវ ិធីខាងនរកាមននោះ៖
ករឣងវី១ = list("Python")
ករឣងវ៣
ី = list({'A':100, 'B':1.5, 'C':True})
ករឣងវ៤
ី = list({100, False, 200})
print(ករឣងវ១)
ី
print(ករឣងវី២)
print(ករឣងវ៣)
ី
print(ករឣងវ៤)
ី
ទំព័រ 232
append(…)
នរកាមននោះ៖
ករឣងចរឣរោះ.append("ថ្លលឦក់")
print(ករឣងចរឣរោះ)
count(…)
ទំព័រ 233
ននោះ៖
ចំឞួឞធារុ = ករឣងចរឣរោះ.count(100)
print(ចំឞួឞធារុ )
extend(…)
េឺជាវ ិធីនរបើសរមាប់បតនថមធ្លែុថ្នសមាសវែថុណាមួយចូលនៅក្នុងក្រមងអនងរណាមួយនៅខាង
print(ករឣងចរឣរោះ)
ល ក់", "ថ្លវ
ករឣងចរឣរោះ.extend(["ថ្លឦ ល ិ ញ", False]) េឺជាការយក្វ ិធី ន្មោះ extend មក្នរបើនដើមបី
បតនថមធ្លែុមួយចំនួននៅក្នុងក្រមងអនងរមួយចូលនៅក្នុងក្រមងអនងរន្មោះ ក្រមងចរមរោះ នៅ
ខាងចុង។
index(…)
ខាងនរកាមននោះ៖
print(ណឦខណឥៀង)
ក្រមងចរមរោះ ។
insert(…)
ករឣងចរឣរោះ.insert(2, "ថ្លលឦក់")
print(ករឣងចរឣរោះ)
pop(…)
េឺជាវ ិធីនរបើសរមាប់កាែ់យក្ធ្លែុមាននលខ្នរៀងអវីមួយនៅក្នុងក្រមងអនងរណាមួយមក្
ធារុ = ករឣងចរឣរោះ.pop(2)
print(ធារុ )
print(ករឣងចរឣរោះ)
ទំព័រ 235
remove(…)
ននោះ៖
ករឣងចរឣរោះ.remove("រាក់ចណំ ណញ")
print(ករឣងចរឣរោះ)
reverse(…)
េឺជាវ ិធីនរបើសរមាប់ែនរមៀបធ្លែុនៅក្នុងក្រមងអនងរណាមួយឲ្យមានលំដាប់ថានក្់បញ្រ្ញ្
ច សមក្
ករឣងចរឣរោះ.reverse()
print(ករឣងចរឣរោះ)
ច សមក្វ ិញ។
ក្រមងអនងរន្មោះ ក្រមងចរមរោះ ឲ្យមានលំដាប់ថានក្់បញ្រ្ញ្
sort(…)
ទំព័រ 236
េឺជាវ ិធីនរបើសរមាប់ែនរមៀបធ្លែុនៅក្នុងក្រមងអនងរណាមួយឲ្យមានលំដាប់ថានក្់ពីែូចនៅធំ ។
ពិនិែយក្មមវ ិធីខាងនរកាមននោះ៖
ករឣងចរឣរោះ.sort()
print(ករឣងចរឣរោះ)
ថ្នែក់ dict
print(ឧចនាឞុ រកឣវី១)
print(ឧចនាឞុ រកឣវី២)
print(ឧចនាឞុ រកឣវី៣)
ល ក់":1000, "ថ្លវ
ឧចនាឞុរកឣវី១ = dict({"ថ្លឦ ល ិញ":900, "រាក់ចណំ ណញ":100}) េឺ ជាការយក្
មានធ្លែុពីរ។
ល ក់=1000, ថ្លវ
ឧចនាឞុរកឣវី៣ = dict(ថ្លឦ ល ិ ញ=900, រាក់ចណំ ណញ=100) េឺ ជាការយក្ថានក្់
clear(…)
ខាងនរកាមននោះ៖
សងវិចរាក់.clear()
print(សងវិចរាក់)
copy(…)
សងវិចលមី = សងវិចរាក់.copy()
print(សងវិចរាក់)
print(សងវិចលម)ី
get(…)
print(រថ្ឣល)
pop(…)
print(រថ្ឣល)
ទំព័រ 239
popitem(…)
ននោះ៖
ឦវធហឦ = សងវិចរាក់.popitem()
print(ឦវធហឦ)
មួយមានន្មោះថា លទធផល ។
update(…)
print(សងវិចរាក់)
វ រាក.់ update({"ថ្លឦ
សងិច ល ក"់ :2000, "ថ្លវ
ល ិ ញ":800, "រាក់ចណំ ណញ":1200, "ណោហុ ឤ":50})
ថ្នែក់ set
នរកាមននោះ៖
print(សំណុំវី១)
print(សំណុំវី២)
print(សំណុំវី៣)
print(សំណុំវី៤)
ំ ុ ំ វី២ = set({"ថ្លឦ
សណ ល ក់":1000, "ថ្លវ
ល ិ ញ":900, "រាក់ចណំ ណញ":100}) េឺ ជាការបនងកើែសំណ្ុំ
វច នុ រក្មមួយជាដំណ្ឹងសរមាប់ាថបនិក្នៅក្នុងថានក្់ន ោះ។
ទំព័រ 241
ក្នុងថានក្់ ន ោះ។
ក្នុងថានក្់ ន ោះ។
add(…)
នរកាមននោះ៖
សំណុំណដឣ
ើ = set({1000, 900, 100})
សំណុំណដើឣ.add("រាក់ចណំ ណញ")
print(សំណុំណដើឣ)
clear(…)
សំណុំណដឣ
ើ .clear()
print(សំណុំណដឣ
ើ )
ំ ុ ំ ណដឣ
សណ ើ .clear() េឺ ជាការយក្វ ិធីន្មោះ clear មក្នរបើ នដើមបីលុបធ្លែុទំងអស់តដលមាននៅ
ក្នុងសំណ្ុំន្មោះ សំណ្ុំនដើម ។
copy(…)
ក្មមវ ិធីខាងនរកាមននោះ៖
សំណុំណដឣ
ើ = set({1000, 900, 100})
សំណុំលមី = សំណុំណដើឣ.copy()
print(សំណុំណដើឣ)
print(សំណុំលម)ី
ំ ុ ំ លីម = សណ
សណ ំ ុ ំ ណដើឣ.copy() េឺ ជាការយក្វ ិធី ន្មោះ copy មក្នរបើនដើមបីចមលងយក្សំណ្ុំ
discard(…)
សំណុំណដឣ
ើ .discard(100)
print(សំណុំណដឣ
ើ )
ំ ុ ំ ណដឣ
សណ ើ .discard(100) េឺ ជាការយក្វ ិធី ន្មោះ discard មក្នរបើ នដើមបីលុបធ្លែុតដលជានលខ្
pop(…)
នរកាមននោះ៖
សំណុំណដឣ
ើ = set({1000, 900, 100})
ធារុ = សំណុំណដើឣ.pop()
print(ធារុ )
remove(…)
សំណុំណដើឣ.remove(900)
print(សំណុំណដឣ
ើ )
ាស្ត្ាា
ភាា Python ។
ការបឈងកើត្ ាស្ត្ាត
pi = 3.14
់
def ថ្ហទឥងវង(កា ំ) :
S = កា ំ * កា ំ * pi
return S
class ឝឥណីមាររ() :
def __init__(សិសស) :
print("ោថសឞិកថ្ឞថានក់ ឝឥណីមាររ។")
def រកឡាថ្ហទ() :
ទំព័រ 245
print("រកឡាថ្ហទ")
def មាឌ() :
print("មាឌ")
នបើនយើងរក្ាក្មមវ ិធីខាងនលើននោះទុក្ជាឯក្ារមួយតដលមានន្មោះជាឧទហរណ្៍ថា
khmer ។
ន្មោះរបស់ាស្ត្ាត។
នោលេំនិែសំខាន់ថ្នការបនងកើែាស្ត្ាត េឺ នដើមបីរក្ាទុក្នូវក្បួនខានែមួយចំនួននដើមបីអាចនៅ
មានលក្ខណ្ៈទូនៅ និងតដលអាចមានរបនយាជន៍ក្ុងការនដាោះស្រាយបញ្
ន ា ាននរចើនរបនភទ
តដលទក្់ទងនៅនឹងការនដាោះស្រាយបញ្
ា ធរណ្ីមារែ។
នដាយនធវើដូចខាងនរកាមននោះ៖
import khmer
ទំព័រ 246
ឯក្ារននោះរែូវនធវើនឡើងនៅក្នុងងែតដលមានឯក្ារតដលជាក្មមវ ិធីខាងនលើននោះមុននេ។
នហើយនរកាយពីាស្ត្ាតននោះរែូវានរក្ន ើញ តផនក្ទន់បក្តរបនឹងបក្តរបាស្ត្ាតននោះឲ្យនៅជា
រ ឹង។
រេប់វែថុទំងឡាយណាតដលរែូវានបនងកើែនឡើងនិងទុក្នៅក្នុងាស្ត្ាតរែូវនៅថា
នរកាយពីវែថុតដលជាាស្ត្ាតរែូវានបនងកើែនឡើងរួចនហើយ នយើងអាចពិនិែយនមើលសមបែតិ
ទំងឡាយនៅក្នុងន ោះនដាយនធវើដូចខាងនរកាមននោះ៖
import khmer
help(khmer)
help(khmer) េឺ ជាបញ្
ា ែរមូវឲ្យពិនិែយនមើលសមបែតិទំងឡាយតដលមាននៅក្នុងាស្ត្ាតន្មោះ
khmer ។
ទំព័រ 247
នដើមបីយក្សមបែតិនៅក្នុងាស្ត្ាតណាមួយមក្នរបើ នយើងរែូវនធវើដូចខាងនរកាមននោះ៖
import khmer
print(khmer.pi)
់
print(khmer.ថ្ហទឥងវង(15))
ររណកាណ
ី = khmer.ឝឥណីមាររ()
print(ររណកាណ)
ី
print(khmer.pi) េឺ ជាបញ្
ា តដលនៅក្នុងមានការែរមូវឲ្យយក្វែថុន្មោះ pi តដលជាទិននន័យនៅ
វ ់(15)) េឺ ជាបញ្
print(khmer.ថ្ហឥទ ងង ា តដលនៅក្នុងមានការែរមូវឲ្យយក្វែថុន្មោះ ថ្ផទរងវង់ តដល
ររណកាណ
ី = khmer.ឝឥណីមាររ() េឺ ជាបញ្
ា តដលនៅក្នុងមានការែរមូវឲ្យយក្វែថុន្មោះ
ពិនិែយក្មមវ ិធីខាងនរកាមននោះ៖
print(pi)
់
print(ថ្ហទឥងវង(15))
ររីណកាណ = ឝឥណីមាររ()
print(ររីណកាណ)
វ ់ េឺ ជាការនរបើបញ្
from khmer import ថ្ហឥទ ងង ា from/import នដើមបីចមលងយក្ក្បួនន្មោះ ថ្ផទរងវង់
ន្មោះរបស់ាស្ត្ាត។
នរៅពីការនរបើ បញ្
ា from/import នដើមបីចមលងយក្សមបែតិមួយចំនួននៅក្នុងាស្ត្ាតមក្នរបើ
នយើងក្៍អាចនរបើបញ្
ា from/import* នដើមបីចមលងយក្សមបែតិទំងអស់នៅក្នុងាស្ត្ាតមក្ទុក្
print(pi)
់
print(ថ្ហទឥងវង(15))
ររីណកាណ = ឝឥណីមាររ()
print(ររណកាណ)
ី
ទំព័រ 249
នដាយការនរបើបញ្
ា from/import ឬ from/import* េឺ ជាការចមលងឬការបនងកើែន្មោះងមីភាាប់នៅ
នឹងសមបែតិតដលមានន្មោះដូចោននៅក្នុងាស្ត្ាតនផេងៗ ដូចននោះការយក្ន្មោះងមីទំងន ោះ
នៅភាាប់ នឹងវែថុងមីនឹងមិននធវើឲ្យមានផលប៉ោះពាល់ដល់សមបែតិនៅក្នុងាស្ត្ាតនដើមនឡើយ។
ពិនិែយក្មមវ ិធីខាងនរកាមននោះ៖
pi = "រក់ៗណឡញសំឡង់"
print(khmer.pi)
ក្រមងអក្េរមួយ។
print(khmer.pi) េឺ ជាបញ្
ា តដលនៅក្នុងន ោះមានការយក្ទិននន័យន្មោះ pi តដលជាសមបែតិនៅ
នៅក្នុងាស្ត្ាតន ោះនឡើយ។
ររីណកាណ = កខមឥ.ឝឥណីមាររ()
print(ររីណកាណ)
នទៀែថា តខ្មរ ។
ររណកាណ
ី = កខឥម .ឝឥណីមាររ() េឺ ជាការយក្សមបែតិន្មោះ ធរណ្ីមារែ នៅក្នុងាស្ត្ាត
។ ពិនិែយក្មមវ ិធីខាងនរកាមននោះ៖
print(ឡី)
ទុក្នរបើ នដាយដាក្់ន្មោះងមីមួយនទៀែឲ្យវាេឺ ពី ។
ទំព័រ 251
ក្ញ្ច ប់
ការបឈងកើត្ កញ្ច ប់
បនងកើែក្ញ្ចប់ នយើងរោន់តែរបមួលាស្ត្ាតមួយចំនួនរួមជាមួយាស្ត្ាតមួយមានន្មោះថា
ជាន្មោះរបស់ក្ញ្ចប់។
ន្មោះរបស់ក្ញ្ចប់។
ជាក្ិចចា
ច ប់នផតើម ចូរនយើងបនងកើែក្ញ្ចប់មួយមានន្មោះថា KhmerPython នដាយនធវើដូចខាង
នរកាមននោះ៖
#កាឥសណងកើរោស្ត្ោោណ្មោះ geometry
ឡី = 3.14
def អងករ់ហរ
ិច (កា ំ) :
return កា ំ * 2
class មាឌ() :
def រកឡាថ្ហទ(សិសស) :
ទំព័រ 252
print("រកឡាថ្ហទ")
def មាឌ(សិសស) :
print("មាឌ")
មួយមានន្មោះថា geometry ។
#កាឥសណងកើរោស្ត្ោោណ្មោះ equation
def សឣកាឥសនា
ី ទ រ់() :
print("សឣកាឥសនា
ី ទ រ់")
class សឣកាឥ()
ី :
def ដឺណរកវីឡីឥ(សិសស) :
print("សឣកាឥដ
ី ឺណរកវីឡីឥ")
print("សឣីកាឥដឺណរកវស
ី ី")
មួយមានន្មោះថា equation ។
#កាឥសណងកើរោស្ត្ោោណ្មោះ __init__
#ោស្ត្ោោ __init__
មួយមានន្មោះថា __init__ ។
ទំព័រ 253
មួយមានន្មោះថា KhmerPython ។
ក្នុងន ោះ។
នដើមបីយក្ាស្ត្ាតក្នុងក្ញ្ចប់ណាមួយមក្នរបើ នយើងរែូវនធវើដូចខាងនរកាមននោះ៖
import KhmerPython.equation
KhmerPython.equation.សឣកាឥសនា
ី ទ រ់()
KhmerPython មក្នរបើ ។
នយើងរែូវនធវើការក្ែ់សំោល់ថា នដើមបីអាចយក្ាស្ត្ាតនៅក្នុងក្ញ្ចប់ណាមួយមក្នរបើានតម
សថិែនៅក្នុងក្តនលងណាមួយតដលតផនក្ទន់បក្តរបអាចរក្ន ើញ។
ទំព័រ 254
ការយក្ាស្ត្ាតនផេងៗនៅក្នុងក្ញ្ចប់ណាមួយមក្នរបើ អាចរែូវនធវើតមរនបៀបម៉ាងនទៀែដូច
ខាងនរកាមននោះ៖
equation.សឣកាឥសនា
ី ទ រ់()
equation មក្នរបើ។
នយើងអាចចមលងយក្សមបែតិទំងអស់នៅក្នុងាស្ត្ាតណាមួយតដលសថិែនៅក្នុងក្ញ្ចប់ណាមួយ
មក្ទុក្នរបើ នដាយនធវើដូចខាងនរកាមននោះ៖
សឣកាឥសនា
ី ទ រ់()
សឣកាឥ១
ី = សឣកាឥ()
ី
សឣីកាឥ១.ដឺណរកវីឡីឥ()
សឣីកាឥ១.ដឺណរកវីស()
ី
គណិរឧវា.សឣ
ិ កាឥសនា
ី ទ រ់()
សឣកាឥ១
ី = គណិរឧវា.សឣ
ិ កាឥ()
ី
សឣកាឥ១.ដ
ី ណឺ រកវីឡីឥ()
សឣីកាឥ១.ដឺណរកវីស()
ី
គណិរឧវា.សឣ
ិ ីកាឥសនាទរ់() េឺ ជាការយក្ក្បួនន្មោះ សមីការប ទ ែ់ សថិែនៅក្នុងាស្ត្ាត
ដូចោនតដរ នយើងក្៍អាចចមលងយក្សមបែតិនៅក្នុងាស្ត្ាតណាមួយតដលសថិែនៅក្នុងក្ញ្ចប់ណា
មួយមក្ដាក្់ន្មោះងមី នដាយនធវើដូចខាងនរកាមននោះ៖
line()
ទ រ់ as line េឺជាការចមលងយក្ក្បួនន្មោះ
from KhmerPython.equation import សឣកាឥសនា
ី
បណា
ា ល័យ មជ្ឍ ឹម
តដលរែូវានបនងកើែនឡើងរួចជានស្រសច សរមាប់ឲ្យនយើងយក្នៅនរបើការក្នុងការនដាោះស្រាយ
បញ្
ា ទូនៅជានរចើ ន។ នៅក្នុងបណាណល័យមជឍឹមន ោះ មានាស្ត្ាតមានស្រាប់ នលើសពី 200
ន ោះ នយើងអាចអានព័ែ៌មានបតនថមនៅនលើនេហទំព័រ www.python.org ។
ការផ្សែង រកាស្ត្ាត
នធវើដូចខាងនរកាមននោះ៖
import KhmerPython.equation
import sys
print(sys.path)
ន្មោះថ្នងែមួយចំនួនតដលរែូវានក្ំណ្ែ់ ទុក្មុនរួចជានស្រសចសរមាប់ការតសវងរក្ាស្ត្ាត
import KhmerPython.equation
import sys
print(sys.path)
sys.path.append("c:\\")
print(sys.path)
។
ទំព័រ 258
ភាពមិនរររក្តី
ចំនួនរួចនៅនហើយ មានដូចជាក្ំហុសនផេងៗតដលបណា
ត លមក្ពីការសរនសរបញ្
ា មិនរែឹមរែូវ
ជានដើម។ល។។
ភាពមិនរបរក្ែីមាននរចើនរបនភទណាស់ ដូចជានៅនពលតដលនយើងសរនសរបញ្
ា មិនរែឹមរែូវ
print("អនកមាឞឥកាខសរ់"
សញ្ដរងវង់រក្ចក្នៅខាងចុងនេ។ របការននោះានបណា
ត លឲ្យក្ំហុសរបនភទ SyntaxError
ាននក្ើែមាននឡើង។
នរកាមននោះ៖
BaseException
+-- SystemExit
+-- KeyboardInterrupt
+-- GeneratorExit
+-- Exception
+-- StopIteration
+-- ArithmeticError
| +-- FloatingPointError
| +-- OverflowError
| +-- ZeroDivisionError
+-- AssertionError
+-- AttributeError
+-- BufferError
+-- EnvironmentError
| +-- IOError
| +-- OSError
| +-- WindowsError (Windows)
| +-- VMSError (VMS)
+-- EOFError
+-- ImportError
+-- LookupError
| +-- IndexError
| +-- KeyError
+-- MemoryError
+-- NameError
| +-- UnboundLocalError
+-- ReferenceError
+-- RuntimeError
| +-- NotImplementedError
+-- SyntaxError
| +-- IndentationError
| +-- TabError
+-- SystemError
+-- TypeError
+-- ValueError
| +-- UnicodeError
| +-- UnicodeDecodeError
| +-- UnicodeEncodeError
| +-- UnicodeTranslateError
+-- Warning
ទំព័រ 260
+-- DeprecationWarning
+-- PendingDeprecationWarning
+-- RuntimeWarning
+-- SyntaxWarning
+-- UserWarning
+-- FutureWarning
+-- ImportWarning
+-- UnicodeWarning
+-- BytesWarning
បញ្ជ
ា try/except
try/except េឺជាបញ្
ា ែរមូវឲ្យាក្លបងអនុវែតរក្រមបញ្
ា នៅក្នុងបញ្
ា try និងែរមូវឲ្យអនុវែត
រក្រមបញ្
ា នៅក្នុងបញ្
ា except ក្នុងក្រណ្ីការអនុវែតន៍រក្រមបញ្
ា នៅក្នុងបញ្
ា try បងករឲ្យមាន
try :
5/0
except :
print("ភាឡឣឞរសរករ
ិ ាឞណក
ី រមាឞណឡ
ើ ើង។")
try : េឺ ជាបញ្
ា ែរមូវឲ្យអនុវែតរក្រមបញ្
ា នៅក្នុងន ោះ។
except : េឺ ជាបញ្
ា ែរមូវឲ្យអនុវែតរក្រមបញ្
ា នៅក្នុងន ោះ ក្នុងក្រណ្ីការអនុវែតន៍រក្រមបញ្
ា នៅ
ក្នុងបញ្
ា try បណា
ត លឲ្យមានភាពមិនរបរក្ែីនក្ើែមាននឡើង។
បណា
ត លឲ្យភាពមិនរបរក្ែីាននក្ើែមាននឡើង នរពាោះ 5 មិនអាចតចក្នឹង 0 ាននទ។ ជាផល
វ ិាក្ រក្រមបញ្
ា នៅក្នុងបញ្
ា except រែូវានយក្នៅអនុវែត។
ទំព័រ 261
តលងដំនណ្ើរការ។ តែនបើនយើងនរបើបញ្
ា try/except ននោះ នៅនពលមានភាពមិនរបរក្ែីនក្ើែមាន
នឡើង រក្រមបញ្
ា នៅក្នុងបញ្
ា except រែូវយក្នៅអនុវែត នហើយបញ្
ា ប ទ ប់ពីរក្រមបញ្
ា នៅក្នុង
try :
5/0
print("កឣមឧឝ
ិ ររូ
ី ឧចស់ររឣណឞោះ។")
ឹ
ិ ីររូឧចស់ររឹឣណឞោះ។") េឺ ជាបញ្
print("កឣឧម ឝ ា តដលរែូវយក្នៅអនុវែតជាបនតនៅនទៀែ ប ទ ប់ពី
រក្រមបញ្
ា នៅក្នុងបញ្
ា except រែូវានអនុវែតរច
ួ នហើយ។
នចាល។
ភាពមិនរបរក្ែីន ោះ។
ការទទួលយក្ភាពមិនរបរក្ែីអាចរែូវនធវើនឡើងតមរនបៀបម៉ាងនទៀែដូចខាងនរកាមននោះ៖
try :
5/0
រក្រមបញ្
ា នៅក្នុងបញ្
ា try បងករឲ្យមានភាពមិនរបរក្ែីរបនភទ ArithmeticError នក្ើែមាន
ភាពមិនរបរក្ែីនដាយដាក្់ ន្មោះឲ្យវាដូចខាងនរកាមននោះ៖
try :
5/0
print("ភាឡឣឞរសរករ
ិ ាឞណក
ី រមាឞណឡ
ើ ើង។")
ំ ុ ស : េឺ ជាបញ្
except ArithmeticError as កហ ា ែរមូវឲ្យអនុវែតរក្រមបញ្
ា នៅក្នុងន ោះ និងភាាប់
ArithmeticError នក្ើែមាននឡើង។
នរៅពីការទទូលយក្ភាពមិនរបរក្ែីតែមួយរបនភទ នយើងអាចទទួលយក្ភាពមិនរបរក្ែីជា
នរចើនរបនភទឆ្លស់ោន នដាយនធវើដូចខាងនរកាមននោះ៖
try :
5/0
នយើងអាចទទួលយក្ភាពមិនរបរក្ែីានជានរចើនរបនភទឆ្លស់ោន និងភាាប់ន្មោះណាមួយនៅ
try :
5/0
print("ភាឡឣឞរសរករ
ិ ាឞណក
ី រមាឞណឡ
ើ ើង។")
ំ ុ ស : េឺ ជាបញ្
except (ArithmeticError, NameError) as កហ ា ែរមូវឲ្យអនុវែតរក្រមបញ្
ា នៅក្នុង
នរៅពីការនរបើរាស់បញ្
ា except តែមួយ នយើងអាចនរបើបញ្
ា except ជានរចើននដើមបីែរមូវឲ្យ
នរកាមននោះ៖
try :
5/0
print("ភាឡឣិឞរសរករាឞណក
ី ើរមាឞណឡើង។")
ំ ុ ស : េឺ ជាបញ្
except (ArithmeticError, NameError) as កហ ា ែរមូវឲ្យអនុវែតរក្រមបញ្
ា នៅក្នុង
ំ ុ ស : េឺជាបញ្
except MemoryError as កហ ា ែរមូវឲ្យអនុវែតរក្រមបញ្
ា នៅក្នុងន ោះ និងភាាប់
MemoryError ។
ទំព័រ 265
បញ្ជ
ា try/except/else
try/except/else េឺជាបញ្
ា ែរមូវឲ្យាក្លបងអនុវែតរក្រមបញ្
ា នៅក្នុងបញ្
ា try និងែរមូវឲ្យ
អនុវែតរក្រមបញ្
ា នៅក្នុងបញ្
ា except ក្នុងក្រណ្ីមានភាពមិនរបរក្ែីនក្ើែនឡើង។ តែនបើ
ការអនុវែតន៍រក្រមបញ្
ា នៅក្នុងបញ្
ា try ោមននរឿងអវីនក្ើែនឡើងនទ រក្រមបញ្
ា នៅក្នុងបញ្
ា except
ខាងនរកាមននោះ៖
try :
5/2
print("កាឥអឞុ ឧរោឞរ៍ ករឣសញ្ហ
ា ណៅកនុងសញ្ហ
ា try ររូឧចស់ររឹឣណឞោះ។")
except :
print("ភាឡឣឞរសរករ
ិ ាឞណក
ី រមាឞណឡ
ើ ើង។")
try : េឺ ជាបញ្
ា ែរមូវឲ្យាក្លបងអនុវែតរក្រមបញ្
ា នៅក្នុងន ោះ។
except : េឺ ជាបញ្
ា ែរមូវឲ្យអនុវែតរក្រមបញ្
ា នៅក្នុងន ោះ ក្នុងក្រណ្ីការអនុវែតន៍រក្រមបញ្
ា នៅ
ក្នុងបញ្
ា try បងករឲ្មានភាពមិនរបរក្ែីនក្ើែមាននឡើង។
else : េឺ ជាបញ្
ា ែរមូវឲ្យអនុវែតរក្រមបញ្
ា នៅក្នុងន ោះ ក្នុងក្រណ្ីការអនុវែតន៍រក្រមបញ្
ា នៅក្នុង
បញ្
ា try មិនានបងករឲ្យមានភាពមិនរបរក្ែីនក្ើែមាននឡើងនទ។
try រែូវានបញ្ចប់នៅតមសរមួលនដាយមិនបងករឲ្យមានភាពមិនរបរក្ែីនក្ើែមាននឡើងនឡើយ
បញ្ជ
ា try/except/finally
try/except/finally េឺ ជាបញ្
ា ែរមូវឲ្យាក្លបងអនុវែតរក្រមបញ្
ា នៅក្នុងបញ្
ា try និងែរមូវឲ្យ
អនុវែតរក្រមបញ្
ា នៅក្នុងបញ្
ា except ក្នុងក្រណ្ីមានភាពមិនរបរក្ែីនក្ើែនឡើង និងែរមូវឲ្យ
អនុវែតរក្រមបញ្
ា នៅក្នុងបញ្
ា finally នទោះបី ជាមានឬោមនភាពមិនរបរក្ែីនក្ើែនឡើងក្៍ នដាយ។
ពិនិែយក្មមវ ិធីខាងនរកាមននោះ៖
try :
5/2
finally : េឺ ជាបញ្
ា ែរមូវឲ្យអនុវែតរក្រមបញ្
ា នៅក្នុងន ោះ នទោះជាមានឬោមនភាពមិនរបរក្ែីនក្ើង
នឡើងក្៍នដាយ។
បញ្ជ
ា try/except/else/finally
try/except/else/finally េឺជាបញ្
ា ែរមូវឲ្យាក្លបងអនុវែតរក្រមបញ្
ា នៅក្នុងបញ្
ា try និង
ែរមូវឲ្យអនុវែតរក្រមបញ្
ា នៅក្នុងបញ្
ា except ក្នុងក្រណ្ីមានភាពមិនរបរក្ែីនក្ើែនឡើង និង
ែរមូវឲ្យអនុវែតរក្រមបញ្
ា នៅក្នុងបញ្
ា else ក្នុងក្រណ្ីោមនភាពមិនរបរក្ែីនក្ើែនឡើង និងែរមូវ
ឲ្យអនុវែតរក្រមនៅក្នុងបញ្
ា finally នទោះបីជាមានឬោមនភាពមិនរបរក្ែីនក្ើែនឡើងក្៍នដាយ។
ពិនិែយក្មមវ ិធីខាងនរកាមននោះ៖
ទំព័រ 267
try :
5/2
បញ្
ា try មិនបណា
ត លឲ្យភាពមិនរបរក្ែីនក្ើែនឡើងនឡើយ។ មូលនហែុននោះនធវើឲ្យរក្រមបញ្
ា នៅ
ក្នុងបញ្
ា else រែូវានយក្នៅអនុវែត។ ចំតណ្ក្ឯរក្រមបញ្ ា finally វ ិញរែូវាន
ា នៅក្នុងបញ្
បញ្ជ
ា raise
raise េឺជាបញ្
ា ែរមូវឲ្យបនងកើែភាពមិនរបរក្ែី ពីនរពាោះនៅនពលខ្លោះ នយើងរែូវបនងកើែភាពមិន
try :
ា ខុស។")
raise SyntaxError("សឥណសឥសញ្ហ
print(កំហុស)
raise SyntaxError("សឥណសឥសញ្ហ
ា ខុស។") េឺជាការនរបើបញ្
ា raise នដើមបីបនងកើែភាពមិនរបរក្ែី
របនភទ SyntaxError ។
ទំព័រ 268
របនភទណាក្៍ានតដរនដាយនរបើរាស់បញ្
ា raise ននោះ។
បញ្ជ
ា assert
assert េឺជាបញ្
ា ែរមូវឲ្យបនងកើែភាពមិនរបរក្ែីរបនភទ AssertionError ក្នុងក្រណ្ីក្ននាម
ថ្លលឦក់ = 800
ថ្លលវិញ = 900
try :
assert ថ្លលឦក់ > ថ្លលវិញ
except AssertionError :
print("ភាឡឣឞរសរករ
ិ រសណអវ
ី AssertionError ាឞណករមាឞណឡ
ើ ើង។")
ល ក់ > ថ្លវ
assert ថ្លឦ ល ិញ េឺជាបញ្
ា ែរមូវឲ្យបនងកើែភាពមិនរបរក្ែីរបនភទ AssertionError ក្នុង
បនងកើែថានក្់ថ្នភាពមិនរបរក្ែីមួយចំនួននទៀែ នដើមបីបនងកើែភាពមិនរបរក្ែីរបនភទនផេងៗនទៀែ
ទំព័រ 269
ក្មមវ ិធីខាងនរកាមននោះ៖
class កំហុសលមី(Exception) :
def __str__(សិសស) :
return "ភាឡឣឞរសរករ
ិ រសណអវ
ី កំហុសលមី។"
try :
raise កំហុសលមី()
print(កំហុស)
ស្រាប់ន្មោះ Exception ។
Exception ។
ក្នុងក្រណ្ីតដលថានក្់ ថ្នភាពមិនរបរក្ែីមួយរែូវានបនងកើែនឡើងនដាយបនតភាាប់នៅនឹងថានក្់នម
class កំហុសលមី(Exception) :
def __str__(សិសស) :
return "ភាឡឣឞរសរករ
ិ រសណអវ
ី កំហុសលមី។"
try :
ទំព័រ 270
raise កំហុសលមី()
print(កំហុស)
ំ ុ ស : េឺ ជាបញ្
except Exception as កហ ា ែរមូវឲ្យទទួលយក្ភាពមិនរបរក្ែីមានរបនភទជា
បដចចក្ដទសជាន់ខ្ស
ព ់
នរៅពីបញ្
ា និងក្បួនខានែមួយចំនួនតដលនយើងាននរបើរាស់ក្នលងមក្សរមាប់នដាោះស្រាយ
មានដូចែនៅននោះ៖
កបួនអនាមិក
នយើងរែូវនធវើដូចខាងនរកាមននោះ៖
ជាក្ននាមរបមាណ្វ ិធី។
print(ករឣងចរឣរោះ)
ល ក,់ ថ្លវ
ករឣងចរឣរោះ = (100, True, lambda ថ្លឦ ល ក់ - ថ្លវ
ល ិញ : ថ្លឦ ល ិ ញ) េឺជាការបនងកើែក្រមង
នលខ្នរៀង 2 ។
វឌ្ឍនករ
ទំព័រ 273
នរកាមននោះ៖
ឧឌឍឞករឣងណដើឣ = iter(ករឣងណដើឣ)
print(ឧឌឍឞករឣងណដើឣ)
នងរមានន្មោះថា ក្រមងនដើម ។
ឲ្យនៅក្បួនន ោះ នយើងនឹងានលទធផលដូចខាងនរកាមននោះ៖
ឧឌឍឞករឣងណដឣ
ើ = iter(ករឣងណដឣ
ើ )
print(next(ឧឌឍឞករឣងណដើឣ))
print(next(ឧឌឍឞករឣងណដើឣ))
print(next(ឧឌឍឞករឣងណដើឣ))
print(next(ឧឌឍឞករឣងណដឣ
ើ ))
print(next(ឧឌឍឞករឣងណដើឣ)) េឺ ជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យយក្ក្បួនមានស្រាប់
ានយក្មក្ពិនិែយនមើល។
ទំព័រ 274
print(next(ឧឌឍឞករឣងណដើឣ)) េឺ ជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យយក្ក្បួនមានស្រាប់
យក្មក្ពិនិែយនមើល។
print(next(ឧឌឍឞករឣងណដើឣ)) េឺ ជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យយក្ក្បួនមានស្រាប់
យក្មក្ពិនិែយនមើល។
print(next(ឧឌឍឞករឣងណដើឣ)) េឺ ជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យយក្ក្បួនមានស្រាប់
ដូចននោះវឌឍនក្រេឺជាវែថុម៉ាងតដលតមរយៈវា នយើងអាចយក្ធ្លែុនៅក្នុងសមាសវែថុណាមួយ
ការតសវងយល់ដឹងពី វឌឍនក្រមានារៈសំខាន់ណាស់ក្ុងការយល់
ន ដឹងពី យនតការរបស់បញ្
ា
for ។ ពីនរពាោះនៅនពលតដលបញ្
ា for រែូវយក្មក្នរបើជាមួយនឹងសមាសវែថុណាមួ យ ក្បួន
នរចើននលើក្នរចើនាររហូែដល់ធ្លែុនៅក្នុងសមាសវែថុតដលរែូវានផតល់ជាដំណ្ឹងសរមាប់
សរុបមក្ ការយក្បញ្
ា for មក្នរបើ បណា
ត លឲ្យក្បួនមានស្រាប់ ន្មោះ iter និង next រែូវយក្
print(ឧរថុ)
def ហឦិរកឣម(ករឣង) :
ំ
print("ដត ក់កាឥវីឣួ ឤ")
yield ករឣង[0] + 10
ំ
print("ដត ក់កាឥវីឡីឥ")
yield ករឣង[1] + 10
ំ
print("ដត ក់កាឥវីស")
ី
yield ករឣង[2] + 10
ឡុ ឣព = ហឦិរកឣម([1, 2, 3])
print(ឡុ ឣ)ព
ទំព័រ 277
មានបញ្
ា yield ជានរចើននៅក្នុងន ោះ។
នយើងនឹងានលទធផលដូចខាងនរកាមននោះ៖
def ហឦិរកឣម(ករឣង) :
ំ
print("ដត ក់កាឥវីឣួ ឤ")
yield ករឣង[0] + 10
ំ
print("ដត ក់កាឥវីឡីឥ")
yield ករឣង[1] + 10
ំ
print("ដត ក់កាឥវីស")
ី
yield ករឣង[2] + 10
ឡុ ឣព = ហឦិរកឣម([1, 2, 3])
print(next(ឡុ ឣ)ព )
print(next(ឡុ ឣ)ព )
print(next(ឡុ ឣ)ព )
print(next(ឡុ ឣ)ព )
ទំព័រ 278
print(next(ឡុឣ)ព ) េឺ ជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យយក្ក្បួនមានស្រាប់ន្មោះ next
បណា
ត លឲ្យរក្រមបញ្
ា នៅក្នុងក្បួនផលិែក្រន្មោះ ផលិែក្មម រែូវយក្មក្អនុវែតជាបនតប ទ ប់
រហូែដល់បញ្
ា yield ដំបួងនេនទើបផ្ទអក្មួយរយៈសិន។
print(next(ឡុឣ)ព ) េឺ ជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យយក្ក្បួនមានស្រាប់ន្មោះ next
បណា
ត លឲ្យរក្រមបញ្
ា នៅក្នុងក្បួនផលិែក្រន្មោះ ផលិែក្មម រែូវយក្មក្អនុវែតជាបនតប ទ ប់
រហូែដល់បញ្
ា yield ទីពីរនទើបផ្ទអក្មួយរយៈនទៀែ។
print(next(ឡុឣ)ព ) េឺ ជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យយក្ក្បួនមានស្រាប់ន្មោះ next
បណា
ត លឲ្យរក្រមបញ្
ា នៅក្នុងក្បួនផលិែក្រន្មោះ ផលិែក្មម រែូវយក្មក្អនុវែតជាបនតប ទ ប់
រហូែដល់បញ្
ា yield ទីបីនទើបផ្ទអក្មួយរយៈនទៀែ។
print(next(ឡុឣ)ព ) េឺ ជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យយក្ក្បួនមានស្រាប់ន្មោះ next
សរុបមក្ ក្បួនផលិែក្រេឺជាក្បួនតដលមានបញ្
ា yield នៅក្នុងន ោះ នហើយការយក្ក្បួន
ផលិែក្រមក្នរបើ មិ នបណា
ត លឲ្យរក្រមបញ្
ា នៅក្នុងន ោះរែូវយក្នៅអនុវែតនទ តែផទុយនៅវ ិញ
វែថុតដលជាផលិែក្រមួយរែូវបនងកើែនឡើង។ នដើមបីឲ្យរក្រមបញ្
ា នៅក្នុងក្បួនផលិែក្ររែូវយក្នៅ
មានបញ្
ា yield ដំបួងនេ នហើយនបើនយើងចង់ឲ្យការអនុវែតន៍រក្រមបញ្
ា ន ោះមានដំនណ្ើរការជា
បនតនៅនទៀែរហូែដល់បញ្
ា yield ប ទ ប់មក្នទៀែ នយើងរែូវយក្ក្បួនមានស្រាប់ ន្មោះ next
បញ្
ា yield មានមុខ្ងារស្រសនដៀងនឹងបញ្
ា return តដរ នពាលេឺវាជាបញ្
ា តដលែរមូវឲ្យបញ្ូា ន
វែថុណាមួយនៅកាន់ ក្តនលងណាតដលផលិែក្រនក្ើែនចញពីក្បួនននោះរែូវយក្នៅនរបើជាដំណ្ឹង
បញ្
ា yield មិនែរមូវឲ្យបញ្ចប់ការអនុវែតន៍រក្រមបញ្
ា នៅក្នុងក្បួនផលិែក្រនទ េឺ បញ្
ា yield
រោន់តែែរមូវឲ្យផ្ទអក្ការអនុវែតន៍រក្រមបញ្
ា ន ោះមួយរយៈតែប៉ុនណាណោះ នហើយការអនុវែតន៍រក្រម
បញ្
ា ន ោះ នឹងរែូវនធវើនឡើងជាបនតនៅនទៀែនៅនពលណាតដលផលិែក្ររែូវយក្នៅនរបើ ជា
យក្នៅអនុវែត។
នបើសិនណាជានយើងយក្បញ្
ា for មក្នរបើ ជាមួយនឹងផលិែក្រណាមួ យ ក្បួនមានស្រាប់ ន្មោះ
next នឹងរែូវយក្មក្នរបើជាសវ័យរបវែតិជានរចើននលើក្នរចើនាររហូែដល់រក្រមបញ្
ា នៅក្នុងក្បួន
def ហឦិរកឣម(ករឣង) :
ទំព័រ 280
ំ
print("ដត ក់កាឥវីឣួ ឤ")
yield ករឣង[0] + 10
ំ
print("ដត ក់កាឥវីឡីឥ")
yield ករឣង[1] + 10
ំ
print("ដត ក់កាឥវីស")
ី
yield ករឣង[2] + 10
print(ឧរថុ)
ចុងនរកាយននោះមក្នរបើ រែូវនធវើនឡើងជានរចើននលើក្នរចើនាររហូែដល់ការអនុវែតន៍រក្រមបញ្
ា
បញ្
ា yield ដូចននោះ នយើងអាចនរបើក្បួនផលិែក្រជាពុមស
ព រមាប់បនងកើែវែថុជានរចើនខ្ុសៗោន
អាស្រស័យនៅតមរូបមនតតដលជារក្រមបញ្
ា នៅក្នុងក្បួនផលិែក្រន ោះ។ ពិនិែយក្មមវ ិធីខាង
នរកាមននោះ៖
def ហឦិរកឣម() :
yield 1000
ទំព័រ 281
yield "ថ្លលឦក់"
yield 900
print(ឧរថុ)
ោនរែូវានបនងកើែនឡើង អាស្រស័យនៅតមរូបមនតតដលជារក្រមបញ្
ា នៅក្នុងក្បួនផលិែក្រន្មោះ
ផលិែក្មម ន ោះ។
នរបើជាមួយនឹងបញ្
ា for ឬក្បួនមានស្រាប់ ន្មោះ next តែប៉ុនណាណោះ។ ដូចននោះក្បួនផលិែក្រ
រែូវានយក្នៅនរបើ ជាមួយនឹងបញ្
ា for ឬក្បួនមានស្រាប់ន្មោះ next តែប៉ុនណាណោះ។ ដូចននោះ
នឡើយ។ ក្៍ប៉ុតនតផុយនៅវ
ទ ិញ ការយក្ក្បួនផលិែក្រមក្នរបើ ជំនួសឲ្យសមាសវែថុនផេងៗនទៀែ នធវើ
ឲ្យនលបឿនចុោះយឺែ នរពាោះក្បួនផលិែក្ររែូវការរយៈដ៍ចាំាច់ណាមួយនដើមបីបនងកើែក្ធ្លែុរបស់វា
ខាងនរកាមននោះ៖
កូ ឞណោឥអឥូសី = សងវច
ិ រាក់.keys()
រថ្ឣលអឥូសី = សងវិចរាក់.values()
print(ឧរថុ)
print(ឧរថុ)
print(ឧរថុ)
print(ករឣងលម)ី
លទធផលជាធ្លែុមួយសរមាប់ក្រមងអនងរងមី។ នហើយបញ្
ា for នៅក្នុងន ោះ េឺជាបញ្
ា នរបើ
ក្មមវ ិធីខាងនលើននោះអាចរែូវសរនសរតមរនបៀបម៉ាងនទៀែដូចខាងនរកាមននោះ៖
ករឣងលមី = [ ]
print(ករឣងលម)ី
return ឧរថុ + 10
print(ករឣងលម)ី
ននោះ៖
ទំព័រ 285
return ឧរថុ + 10
print(ករឣងលម)ី
ក្មមវ ិធីខាងនរកាមននោះ៖
return ឧរថុ + 10
def ហឦិរកឣម() :
yield ឧរថុ
print(ករឣងលម)ី
មក្នរបើ ។
កឈនោម ផលិត្ករ
តដលមានរបនភទជាផលិែក្រ។ បញ្
ា ទំងឡាយនៅក្នុងក្ននាមផលិែក្រ េឺជារូបមនតសរមាប់
print(ឡុ ឣ)ព
នបើសិនណាជានយើងយក្ផលិែក្រតដលរែូវានបនងកើែនឡើងនដាយក្ននាមផលិែក្រ មក្នរបើ
ជាមួយនឹងបញ្
ា for នយើងនឹងានលទធផលដូចខាងនរកាមននោះ៖
for ឧរថុ in ឡុ ឣព :
print(ឧរថុ)
បណា
ត លឲ្យវែថុមួយចំនួនតដលរែូវចាែ់ ទុក្ថាជាធ្លែុរបស់ក្ននាមផលិែក្រ រែូវានបនងកើែ
នឡើង។
ទំព័រ 287
នឹងបញ្
ា for េឺ រែូវានបនងកើែនឡើងនៅតមរូបមនតតដលមាននៅក្នុងក្ននាមផលិែក្រតដល
ានបនងកើែផលិែក្រន ោះ។
លទធផលជាផលិែក្រមួយតដលអាចរែូវយក្នៅនរបើជាមួយនឹងបញ្
ា for នដើមបីបនងកើែវែថុនផេងៗ
នទៀែ។
វិធី ពិឈសស
ថ្លលឦក់ = 1000
ថ្លលវិញ = 900
print(រាក់ចណំ ណញ)
ទំព័រ 288
ត លឲ្យាថបនិក្តដលជាវ ិធីពិនសសន្មោះ
ថ្នថានក្់មានស្រាប់ ន្មោះ int ។ របការននោះបណា
ថ្លវ
ល ិញ = 900 េឺការបនងកើែចំនួនេែ់នលខ្ 900 មួយមានន្មោះថា ថ្ងលទិញ តដលជាសិសេថ្ន
រាក់ចណំ ណញ = ថ្លឦ
ល ក់ - ថ្លវ
ល ិ ញ េឺជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យនធវើរបមាណ្
នៅជាក្រមងអក្េរតដលរែូវយក្នៅសរនសនៅនលើបងអួចបឋម។
ទំព័រ 289
ថ្លលឦក់ = 1000
ថ្លលវិញ = 900
print(ឦវធហឦ)
រាក់ចណំ ណញ = int.__sub__(ថ្លឦ
ល ក់, ថ្លវ
ល ិញ) េឺជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យ
ក្មមវ ិធីខាងនរកាមននោះ៖
class វឹករាក់() :
សិសស.រាក់ = រាក់
ទំព័រ 290
ឦវធហឦ = វឹករាក់()
return ឦវធហឦ
def __str__(សិសស) :
return str(សិសស.រាក់)
ថ្លលឦក់ = វឹករាក់(1000)
ថ្លលវិញ = វឹករាក់(900)
print(រាក់ចណំ ណញ)
ន្មោះ ទឹក្រាក្់ ។
រាក់ចណំ ណញ = ថ្លឦ
ល ក់ - ថ្លវ
ល ិ ញ េឺជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យនធវើរបមាណ្
ននោះ៖
ទំព័រ 292
វិ ធីព្ិបសសសរមាប់ររមាណវិ ធីនព្វនត
__add__(សិសសណឆវង, សិសសោោ ំ)
__sub__(សិសសណឆវង, សិសសោោ ំ)
__mul__(សិសសណឆវង, សិសសោោ ំ)
__truediv__(សិសសណឆវង, សិសសោោ ំ)
__floordiv__(សិសសណឆវង, សិសសោោ ំ)
__mod__(សិសសណឆវង, សិសសោោ ំ)
__pow__(សិសសណឆវង, សិសសោោ ំ)
ពិនិែយក្មមវ ិធីខាងនរកាមននោះ៖
class វឹករាក់() :
សិសស.រាក់ = រាក់
ឦវធហឦ = វឹករាក់()
return ឦវធហឦ
ឦវធហឦ = វឹករាក់()
return ឦវធហឦ
ទំព័រ 293
ឦវធហឦ = វឹករាក់()
return ឦវធហឦ
ឦវធហឦ = វឹករាក់()
return ឦវធហឦ
ឦវធហឦ = វឹករាក់()
return ឦវធហឦ
ឦវធហឦ = វឹករាក់()
return ឦវធហឦ
ឦវធហឦ = វឹករាក់()
return ឦវធហឦ
def __str__(សិសស) :
return str(សិសស.រាក់)
ទំព័រ 294
ថ្លលឦក់ = វឹករាក់(1000)
ថ្លលវិញ = វឹករាក់(900)
print(ថ្លលឦក់ + ថ្លលវិញ)
print(ថ្លលឦក់ - ថ្លលវិញ)
print(ថ្លលឦក់ * ថ្លលវិញ)
print(ថ្លលឦក់ / ថ្លលវិញ)
print(ថ្លលឦក់ // ថ្លលវិញ)
print(ថ្លលឦក់ % ថ្លលវិញ)
print(ថ្លលឦក់ ** ថ្លលវិញ)
ល ក់ + ថ្លវ
print(ថ្លឦ ល ិ ញ) េឺ ជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យនធវើរបមាណ្វ ិធីបូក្រវាង
ន ោះរែូវយក្មក្នរបើនដាយសវ័យរបវែតិ។
ល ក់ - ថ្លវ
print(ថ្លឦ ល ិ ញ) េឺ ជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យនធវើរបមាណ្វ ិធីដក្រវាង
រែូវយក្មក្នរបើនដាយសវ័យរបវែតិ។
ល ក់ * ថ្លវ
print(ថ្លឦ ល ិ ញ) េឺ ជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យនធវើរបមាណ្វ ិធីេុនរវាង
ន ោះរែូវយក្មក្នរបើនដាយសវ័យរបវែតិ។
ទំព័រ 295
ល ក់ / ថ្លវ
print(ថ្លឦ ល ិ ញ) េឺ ជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យនធវើរបមាណ្វ ិធីតចក្រវាង
ន ោះរែូវយក្មក្នរបើនដាយសវ័យរបវែតិ។
ល ក់ // ថ្លវ
print(ថ្លឦ ល ិ ញ) េឺ ជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យនធវើរបមាណ្វ ិធីតចក្បនថយ
ល ក់ % ថ្លវ
print(ថ្លឦ ល ិ ញ) េឺ ជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យនធវើរបមាណ្វ ិធីតចក្យក្
នៅក្នុងថានក្់ន ោះរែូវយក្មក្នរបើនដាយសវ័យរបវែតិ។
ល ក់ ** ថ្លវ
print(ថ្លឦ ល ិ ញ) េឺ ជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យនធវើរបមាណ្វ ិធីស័យ
វ េុន
ពិនិែយក្មមវ ិធីខាងនរកាមននោះ៖
class វឹករាក់() :
សិសស.រាក់ = រាក់
def __str__(សិសស) :
ទំព័រ 296
return str(សិសស.រាក់)
ថ្លលឦក់ = វឹករាក់(1000)
ថ្លលវិញ = វឹករាក់(900)
print(ថ្លលឦក់ + ថ្លលវិញ)
ល ក់ + ថ្លវ
print(ថ្លឦ ល ិ ញ) េឺ ជាបញ្
ា តដលនៅក្នុងន ោះមានការាក្លបងយក្សិសេថ្នថានក្់
មិនរបរក្ែីនក្ើែនឡើង។
វិ ធីព្ិបសសសរមាប់ររមាណវិ ធីបររៀបបធៀប
__lt__(សិសសណឆវង, សិសសោោ ំ)
__le__(សិសសណឆវង, សិសសោោ ំ)
__eq__(សិសសណឆវង, សិសសោោ ំ)
__ne__(សិសសណឆវង, សិសសោោ ំ)
__gt__(សិសសណឆវង, សិសសោោ ំ)
__ge__(សិសសណឆវង, សិសសោោ ំ)
ពិនិែយក្មមវ ិធីខាងនរកាមននោះ៖
class វឹករាក់() :
សិសស.រាក់ = រាក់
ទំព័រ 297
def __str__(សិសស) :
return str(សិសស.រាក់)
ថ្លលឦក់ = វឹករាក់(1000)
ថ្លលវិញ = វឹករាក់(900)
print(ថ្លលឦក់ == ថ្លលវិញ)
print(ថ្លលឦក់ != ថ្លលវិញ)
ល ក់ > ថ្លវ
print(ថ្លឦ ល ិញ) េឺជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យនធវើរបមាណ្វ ិធី
ល ក់ < ថ្លវ
print(ថ្លឦ ល ិញ) េឺជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យនធវើរបមាណ្វ ិធី
ល ក់ == ថ្លវ
print(ថ្លឦ ល ិ ញ) េឺ ជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យនធវើរបមាណ្វ ិធី
ល ក់ != ថ្លវ
print(ថ្លឦ ល ិ ញ) េឺជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យនធវើរបមាណ្វ ិធី
ល ក់ >= ថ្លវ
print(ថ្លឦ ល ិ ញ) េឺ ជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យនធវើរបមាណ្វ ិធី
ល ក់ <= ថ្លវ
print(ថ្លឦ ល ិ ញ) េឺ ជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យនធវើរបមាណ្វ ិធី
វិ ធីព្ិបសសសរមាប់សមាសវតថុ
វ ិធី ពិនសសសំខាន់ៗសរមាប់សមាសវែថុមាន៖
__len__(សិសស)
__iter__(សិសស)
__contain__(សិសស, ឧរថុ)
ពិនិែយក្មមវ ិធីខាងនរកាមននោះ៖
class សំណុំរាក់() :
សិសស.រាក់ = រាក់
def __len__(សិសស) :
return len(សិសស.រាក់)
def __iter__(សិសស) :
return iter(សិសស.រាក់)
def __str__(សិសស) :
return str(សិសស.រាក់)
សំណុំរាក់ឥកសុ ី = សំណុំរាក់(សងវិចរាក់)
print(len(សំណុំរាក់ឥកសុ ))
ី
print(សំណុំរាក់ឥកសុ ី["ថ្លលឦក់"])
print(សំណុំរាក់ឥកសុ ី)
print(សំណុំរាក់ឥកសុ ី)
print(ឧរថុ)
ំ ុ ំ រាក់ឥកសុី)) េឺជាបញ្
print(len(សណ ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យយក្ក្បួនមានស្រាប់
សំណ្ុំរាក្់ ន ោះរែូវយក្មក្នរបើជាសវ័យរបវែតិ។
ទំព័រ 301
ំ ុ ំ រាក់ឥកសុី["ថ្លឦ
print(សណ ល ក់"]) េឺ ជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យនធវើរបមាណ្វ ិធី
ំ ុ ំ រាក់ឥកសុី["ថ្លឦ
សណ ល ក់"] = 5000 េឺជាបញ្
ា ែរមូវឲ្យនធវើរបមាណ្វ ិធីនលខ្នរៀងជាមួយនឹង
សវ័យរបវែតិ។
ំ ុ ំ រាក់ឥកសុី : េឺ ជាការនរបើបញ្
for ឧរុ ថ in សណ ា for ជាមួយនឹងសិសេន្មោះ សំណ្ុំរាក្់រក្សុី
នដាយសវ័យរបវែតិ។
ំ ុ ំ រាក់ឥកសុី) េឺ ជាបញ្
print("ណោហុ ឤ" in សណ ា តដលនៅក្នុងន ោះមានការនធវើរបមាណ្វ ិធីរក្
សវ័យរបវែតិ។
វិ ធីព្ិបសសសរមាប់សិសស
វ ិធី ពិនសសសំខាន់ៗសរមាប់សិសេមានដូចខាងនរកាមននោះ៖
ទំព័រ 302
__call__(សិសស)
__getattribute__(សិសស, សឣបរោ)ិ
__delattr__(សិសស, សឣបរោ)ិ
__dir__(សិសស)
__del__(សិសស)
ពិនិែយក្មមវ ិធីខាងនរកាមននោះ៖
class វឹករាក់() :
សិសស.រាក់ = រាក់
def __call__(សិសស) :
print("កាឥស៉ាុឞស៉ាងឤកសឣបរោណ្
ិ ម ោះ", សឣបរោ,ិ "ណៅណរស")
ើ
print("កាឥស៉ាុឞស៉ាងសណងកើរសឣបរោណ្
ិ ម ោះ", សឣបរោ,ិ "កដឦជា", ឧរថុ)
print("កាឥស៉ាុឞស៉ាងឦុ សសឣបរោណ្
ិ ម ោះ", សឣបរោ)ិ
def __dir__(សិសស) :
return [1, 2, 3]
ទំព័រ 303
def __del__(សិសស) :
ថ្លលឦក់ = វឹករាក់(1000)
ថ្លលឦក់()
ថ្លលឦក់.រាក់
del ថ្លលឦក់.រាក់
print(dir(ថ្លលឦក់))
ថ្លលឦក់ = 2000
ក្តតែរមូវឲ្យអនុវែតបញ្
ា សិសេ.រាក្់ = រាក្់ តដលជាបញ្
ា ែរមូវឲ្យបនងកើែសមបែតិន្មោះ
ល ក(់ ) េឺ ជាបញ្
ថ្លឦ ា ែរមូវឲ្យយក្សិសេន្មោះ ថ្ងលលក្់ មក្នរបើដូចជាក្បួនឬវ ិធី នផេងៗ។ របការ
សវ័យរបវែតិ។
រែូវានយក្មក្នរបើ នដាយសវ័យរបវែតិ។
ទំព័រ 304
សវ័យរបវែតិ។
ល ក)់ ) េឺ ជាបញ្
print(dir(ថ្លឦ ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យយក្ក្បួនមានស្រាប់ ន្មោះ dir
សវ័យរបវែតិ។
សមបត្តិ ពិឈសស
class វឹករាក់() :
សិសស.រាក់ = រាក់
ថ្លលឦក់ = វឹករាក់(1000)
ទំព័រ 305
help(វឹករាក់)
សម្បតតិព្ិបសសប្មោះ __dict__
ពិនិែយក្មមវ ិធីខាងនរកាមននោះ៖
class វឹករាក់() :
សិសស.រាក់ = រាក់
ថ្លលឦក់ = វឹករាក់(1000)
print(វឹករាក់.__dict__)
print(ថ្លលឦក់.__dict__)
print(វឹករាក់.__dict__) េឺ ជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យយក្សមបែតិពិនសស
ន ោះ។
class វឹករាក់() :
រាក់ = 2000
សិសស.រាក់ = រាក់
ថ្លលឦក់ = វឹករាក់(1000)
print(វឹករាក់.__dict__["រាក់"])
print(ថ្លលឦក់.__dict__["រាក់"])
សម្បតតិព្ិបសសប្មោះ __doc__
class វឹករាក់() :
"""គជាថា
ឺ ន ក់ណរសសរមាស់
ើ សណងកើរឧរថុកដឦជាវឹករាក់។"""
រាក់ = 2000
សិសស.រាក់ = រាក់
ថ្លលឦក់ = វឹករាក់(1000)
print(វឹករាក់.__doc__)
ឺ ន ក់ណរសសរមាស
"""គជាថា ើ ់សណងើរ
ក ឧរុ កដឦជាវ
ថ ឹ ករាក់។""" េឺជាការបនងកើែក្រមងអក្េរោមនន្មោះ
តដលជាន្មោះរបស់សមបែតិពិនសសនៅក្នុងថានក្់ន ោះ រែូវានយក្នៅភាាប់នឹងក្រមងអក្េរ
ន ោះ។
ពនយល់នផេងៗនៅក្នុងថានក្់ ណាមួយ។
ទំព័រ 308
def សងាាញឡ័រ៌មាឞ() :
សងាាញឡ័រ៌មាឞ។"""
"""កបួឞណរសសរមាស់
ើ
print("ឡ័រ៌មាឞទ ំងឡាឤឞឹងររូឧសងាាញណៅវីណនាោះ។")
print(សងាាញឡ័រ៌មាឞ.__doc__)
"""កបួឞណរសសរមាស
ើ ់ ងាាញឡ័រ៌មាឞ។""" េឺជាការបនងកើែក្រមងអក្េរោមនន្មោះមួយនៅខាង
ស
សម្បតតិព្ិបសសប្មោះ __slots__
class វឹករាក់() :
សិសស.ថ្លលឦក់ = ថ្លលឦក់
សិសស.ថ្លលវិញ = ថ្លលវិញ
សិសស.ណោហុ ឤ = ណោហុ ឤ
ទំព័រ 309
print(រាក់ឥកសុ ី.ថ្លលឦក់)
print(រាក់ឥកសុ ី.ថ្លលវិញ)
print(រាក់ឥកសុ ី.ណោហុ ឤ)
ល ក់", "ថ្លវ
__slots__ = ["ថ្លឦ ល ិញ", "ណោហុ ឤ"] េឺជាការបនងកើែសមបែតិពិនសសតដលជាក្រមង
សមបត្តិ ឯកជ្ន
ពិនិែយក្មមវ ិធីខាងនរកាមននោះ៖
class វឹករាក់() :
សិសស.__រាក់ = រាក់
def សងាាញឡ័រ៌មាឞ(សិសស) :
print(សិសស.__រាក់)
ថ្លលឦក់ = វឹករាក់(1000)
ថ្លលឦក់.សងាាញឡ័រ៌មាឞ()
print(ថ្លលឦក់.__រាក់)
ទំព័រ 310
print(សិសស.__រាក់) េឺ ជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យយក្សមបែតិន្មោះ __រាក្់
ាននដាយោមនបញ្
ា អវីនឡើយ នរពាោះសមបែតិន ោះរែូវានយក្នៅនរបើ នៅក្នុងថានក្់ របស់សិសេ
តដលមានសមបែតិន ោះ។
អាចនធវើនៅាននឡើយ ក្ំហុសមួយាននក្ើែមាននឡើង។
ខាងនរកាមននោះ៖
class វឹករាក់() :
សិសស.__រាក់ = រាក់
def សងាាញឡ័រ៌មាឞ(សិសស) :
print(សិសស.__រាក់)
ថ្លលឦក់ = វឹករាក់(1000)
ទំព័រ 311
ថ្លលឦក់.សងាាញឡ័រ៌មាឞ()
print(ថ្លលឦក់._វឹករាក់__រាក់)
ល ក.់ _វឹករាក_
print(ថ្លឦ ់ _រាក់) េឺជាបញ្
ា តដលនៅក្នុងន ោះមានការែរមូវឲ្យយក្សមបែតិ
នៅាននដាយោមនបញ្
ា អវីនឡើយ។
រែូវសរនសរសញ្ដ _ ននោះរួមផេំនឹងន្មោះរបស់ថានក្់បតនថមនៅនលើន្មោះរបស់សមបែតិឯក្ជន
ន ោះ។
លកខណៈសមបត្តិ
ថានក្់ទំងឡាយណាតដលមានសមបែតិមានលក្ខណ្ៈខ្ុសោន នឹងបនងកើែសិសេតដលមានសមបែតិ
សិសេ។
ទំព័រ 312
ែួ ទីសំខាន់ណាស់ក្ុងការក្ំ
ន ណ្ែ់ពីលក្ខណ្ៈថ្នសមបែតិរបស់សិសេ។ ពិនិែយក្មមវ ិធីខាង
នរកាមននោះ៖
class វឹករាក់() :
print("សឣបរោស
ិ ិសសកដឦជា", សឣបរោ,ិ "ររូឧាឞសណងករ
ើ ណឡើង។")
សិសស.សឣបរោិ = សឣបរោិ
def ឤកសឣបរោិសិសស(សិសស) :
print("សឣបរោស
ិ ិសសកដឦជា", សិសស.សឣបរោ,ិ "ររូឧាឞឤកណៅណរស។")
ើ
return សិសស.សឣបរោិ
def ឦុ សសឣបរោស
ិ ិសស(សិសស) :
print("សឣបរោស
ិ ិសសកដឦជា", សិសស.សឣបរោ,ិ "ររូឧាឞឦុ សណចាឦ។")
del សិសស.សឣបរោិ
គុ ណឦកខណៈ = property(ឤកសឣបរោស
ិ ិសស, សណងកើរសឣបរោស
ិ ិសស, ឦុ សសឣបរោស
ិ ិសស)
រាក់ឥកសុ ី = វឹករាក់()
រាក់ឥកសុ .គុ
ី ណឦកខណៈ = 1000
រាក់ឥកសុ .គុ
ី ណឦកខណៈ
គុណឦកណ
ខ ៈ = property(ឤកសឣបរស
ិ ោ ិ សស, សណងើរ
ក សឣបរស
ិោ ិ សស, ឦុសសឣបរស
ិ ោ ិ សស) េឺជា
រាក់ឥកសុី.គុណឦកណ
ខ ៈ = 1000 េឺជាការបនងកើែសមបែតិសរមាប់សិសេន្មោះ រាក្់រក្សុី
រាក់ឥកសុី.គុណឦកណ
ខ ៈ េឹ ជាការយក្សមបែតិរបស់សិសេន្មោះ រាក្់រក្សុី មក្នរបើនដាយ
del រាក់ឥកសុី.គុណឦកណ
ខ ៈ េឺ ជាការលុបសមបែតិរបស់សិសេន្មោះ រាក្់រក្សុី នដាយយក្
វិធី ឯឈកា
class វឹករាក់() :
ទំព័រ 314
def សងាាញឡ័រ៌មាឞ() :
print("ឡ័រ៌មាឞររូឧសងាាញណៅវីណឞោះ។")
សងាាញឡ័រ៌មាឞ = staticmethod(សងាាញឡ័រ៌មាឞ)
រាក់ឥកសុ ី = វឹករាក់()
វឹករាក់.សងាាញឡ័រ៌មាឞ()
រាក់ឥកសុ ី.សងាាញឡ័រ៌មាឞ()
ថានក្់របស់វា នដាយមិនចាំាច់ផតល់ដំណ្ឹងជាសិសេណាមានក្់ឲ្យនៅវានឡើយ។
រែូវការសិសេ។
សរុបមក្ វ ិធីឯនកាមានសណា
ា នដូចជាក្បួធមមតតដលជាក្បួននៅខាងនរៅថានក្់ នទោះជាវារែូវ
class វឹករាក់() :
def សងាាញឡ័រ៌មាឞ(ថានក់) :
print("ឡ័រ៌មាឞររូឧសងាាញណៅវីណឞោះ។")
សងាាញឡ័រ៌មាឞ = classmethod(សងាាញឡ័រ៌មាឞ)
រាក់ឥកសុ ី = វឹករាក់()
វឹករាក់.សងាាញឡ័រ៌មាឞ()
រាក់ឥកសុ ី.សងាាញឡ័រ៌មាឞ()
សងាាញឡ័រមា
៌ ឞ = classmethod(សងាាញឡ័រ៌មាឞ) េឺ ជាការយក្ក្បួនមានស្រាប់ ន្មោះ
សវ័យរបវែតិ។
រចនាករ
class វឹករាក់() :
def កកឲ្យណៅជាឧឝ
ិ ឯណកា(ឧ
ី ឝិ )ី :
ឧឝ
ិ ី = staticmethod(ឧឝ
ិ )ី
return ឧឝ
ិ ី
def កកឲ្យណៅជាឧឝ
ិ រសចា
ី ំថានក់(ឧឝ
ិ )ី :
ឧឝ
ិ ី = classmethod(ឧឝ
ិ ី)
return ឧឝ
ិ ី
ទំព័រ 317
@កកឲ្យណៅជាឧឝ
ិ រសចា
ី ំថានក់
ថានក់.វិឞនឞ័ឤ = វិឞនឞ័ឤ
@កកឲ្យណៅជាឧឝ
ិ ឯណកា
ី
def សងាាញឡ័រ៌មាឞ() :
print(វឹករាក់.វិឞនឞ័ឤ)
រាក់ឥកសុ ី = វឹករាក់()
ើរវិឞនឞ័ឤគរឣូ(1000)
រាក់ឥកសុ .សណងក
ី
ា ញឡ័រ៌មាឞ()
រាក់ឥកសុ .សងា
ី
@កកឲ្យណៅជាឧឝ
ិ រសចា
ី ំ ន ក់ េឺ ជាបញ្
ថា ា ែរមូវឲ្យយក្វ ិធី ន្មោះ តក្ឲ្យនៅជាវ ិធី របចាំថានក្់ មក្នរបើ
@កកឲ្យណៅជាឧឝ
ិ ីឯណកា េឺ ជាបញ្
ា ែរមូវឲ្យយក្វ ិធី ន្មោះ តក្ឲ្យនៅជាវ ិធី ឯនកា មក្នរបើជា
នៅនហើយ។
ទំព័រ 318
class វឹករាក់() :
សិសស.ឥករាក់ចណំ ណញ()
សិសស.ថ្លលឦក់ = ថ្លលឦក់
សិសស.ថ្លលវិញ = ថ្លលវិញ
print(សិសស.ថ្លលឦក់ - សិសស.ថ្លលវិញ)
បនងកើែនឡើង។ រក្រមបញ្
ា ទំងន ោះរែូវយក្នៅអនុវែតតែនៅនពលណាតដលក្បួននិងឬវ ិធី
ន្មោះ រាក្់រក្សុី ។
បងាាញរាក្់ចំនណ្ញ អាចរែូវយក្នៅនរបើការាន។
សែយ
័ ឈសវា
ទំព័រ 320
ពិនិែយក្មមវ ិធីខាងនរកាមននោះ៖
ស៉ាុនាមឞដង = 0
def សងាាញឡ័រ៌មាឞ() :
global ស៉ាុនាមឞដង
ស៉ាុនាមឞដង += 1
print("កបួឞណ្មោះសងាាញឡ័រ៌មាឞររូឧាឞឤកណៅណរសចំ
ើ ឞួឞ {0} ដង".format(ស៉ាុនាមឞដង))
if ស៉ាុនាមឞដង < 10 :
សងាាញឡ័រ៌មាឞ()
ស៉ាុនាមឞដង -= 1
សងាាញឡ័រ៌មាឞ()
នៅអនុវែតជាបនតប ទ ប់រហូែដល់ក្តនលងតដលមានបញ្
ា បងាាញព័ែ៌មាន() ក្បួនដតដលន ោះក្៍
រែូវានយក្មក្នរបើ តដលជារបការនធវើឲ្យបញ្
ា នៅខាងនរកាមន ោះរែូវានទុក្នចាល នហើយ
រក្រមបញ្
ា នៅក្នុងក្បួនដតដលន ោះ ក្៍ រែូវានយក្មក្អនុវែតារជាងមីមតងនទៀែ។ ទនងវើរនបៀប
អនុវែត តដលជារបការនធវើឲ្យបញ្
ា តដលរែូវានទុក្នចាលន ោះរែូវានយក្មក្
ទំព័រ 321
កា ចម្លងបសើបេើ
នយើងអាចយក្សមាសវែថុនផេងៗតដលមានធ្លែុជាសមាសវែថុមួយចំនួននទៀែមក្ចមលងបនងកើែ
ជាសមាសវែថុងមី នដាយនធវើដូចខាងនរកាមននោះ៖
ករឣងចរឣរោះ = [(1, 2, 3), [4, 5, 6], {"ណ្នោះ":"កុ សឦ", "អាឤុ ":35, "ណអវ":"រសរស"}]
ករឣងលម១
ី = list(ករឣងចរឣរោះ)
ករឣងលម២
ី = ករឣងចរឣរោះ[:]
print(ករឣងចរឣរោះ)
print(ករឣងលម១
ី )
print(ករឣងលម២
ី )
ករឣងល១
ី ម = list(ករឣងចរឣរោះ) េឺជាការយក្ក្រមងអនងរន្មោះ ក្រមងចរមរោះ មក្ចមលងបនងកើែជា
ករឣងល២
ី ម = ករឣងចរឣរោះ[:] េឺជាការយក្ក្រមងអនងរន្មោះ ក្រមងចរមរោះ មក្ចមលងបនងកើែជា
ការយក្សមាសវែថុមក្ចមលងបនងកើែជាសមាសវែថុងមីតមរនបៀបដូចខាងនលើននោះ មិនតមនជា
ការបនងកើែសមាសវែថុងមីនដាយតឡក្នផេងនទៀែនឡើយ េឺ វារោន់តែជាការបនងកើែសមាសវែថុងមី
ទំព័រ 322
ក្រមងងមី១
[ ]
ក្រមងងមី១
[ ]
copy) ពីនរពាោះវាជាការចមលងតដលបនងកើែវែថុងមីនផេងនទៀែតដលមានធ្លែុជាធ្លែុរបស់សមាសវែថុ
ករឣងចរឣរោះ = [(1, 2, 3), [4, 5, 6], {"ណ្នោះ":"កុ សឦ", "អាឤុ ":35, "ណអវ":"រសរស"}]
ករឣងលម១
ី = list(ករឣងចរឣរោះ)
ករឣងលម២
ី = ករឣងចរឣរោះ[:]
ករឣងចរឣរោះ[1][1] = True
ករឣងលម១
ី [2]["ណ្មោះ"] = "សុ ខ"
ករឣងលម២
ី [2]["អាឤុ "] = 34
ទំព័រ 323
print(ករឣងចរឣរោះ)
print(ករឣងលម១
ី )
print(ករឣងលម២
ី )
ករឣងល១
ី ម [2]["ណ្មោះ"] = "សុខ" េឺ ជាការផ្ទលស់បូរែថ្មល
ត ជាប់នឹងក្ូននារ ន្មោះ នៅក្នុង
ករឣងល២
ី ម [2]["អាឤុ"] = 34 េឺជាការផ្ទលស់បូរែថ្មល
ត ជាប់នឹងក្ូននារ អាយុ នៅក្នុងវច នុរក្ម
។
ទំព័រ 324
ក្នុងក្រមងអនងរណាមួយ ក្រមងអនងរដថ្ទនទៀែនឹងមិនទទូលរងនូវផលប៉ោះពាល់អីវនឡើយ
ពីនរពាោះការផ្ទលស់បូរធ្លែុ
ត ទំងមូល មិនតមនជាការយក្ធ្លែុមក្តក្តរបនទ។ ពិនិែយក្មមវ ិធីខាង
នរកាមននោះ៖
ករឣងចរឣរោះ = [(1, 2, 3), [4, 5, 6], {"ណ្នោះ":"កុ សឦ", "អាឤុ ":35, "ណអវ":"រសរស"}]
ករឣងលម១
ី = list(ករឣងចរឣរោះ)
ករឣងលម២
ី = ករឣងចរឣរោះ[:]
ករឣងចរឣរោះ[1] = True
ករឣងលម១
ី [2] = "សុ ខ"
ករឣងលម២
ី [2] = 34
print(ករឣងចរឣរោះ)
print(ករឣងលម១
ី )
print(ករឣងលម២
ី )
ករឣងល១
ី ម [2] = "សុខ" េឺជាការផ្ទលស់បូរធ្លែុ
ត មាននលខ្នរៀង 2 នៅក្នុងក្រមងអនងរន្មោះ
ករឣងល២
ី ម [2] = 34 េឺជាការផ្ទលស់បូរធ្លែុ
ត មាននលខ្នរៀង 2 នៅក្នុងក្រមងអនងរន្មោះ
កា ចម្លងទំងរសុង
ករឣងចរឣរោះ = [(1, 2, 3), [4, 5, 6], {"ណ្នោះ":"កុ សឦ", "អាឤុ ":35, "ណអវ":"រសរស"}]
ី = ចឣលងទ ំងរសុង(ករឣងចរឣរោះ)
ករឣងលម១
ី = ចឣលងទ ំងរសុង(ករឣងចរឣរោះ)
ករឣងលម២
print(ករឣងចរឣរោះ)
print(ករឣងលម១
ី )
print(ករឣងលម២
ី )
copy េឺជាាស្ត្ាតតដលសថិែនៅក្នុងបណាណល័យមជឍឹម។
ករឣងល១
ី ម = ចឣង ំ
ល ទងរសុ ង(ករឣងចរឣរោះ) េឺ ជាការយក្ក្បួនន្មោះ ចមលងទំងស្រសរង ឬ
ករឣងល២
ី ម = ចឣង ំ
ល ទងរសុ ង(ករឣងចរឣរោះ) េឺ ជាការយក្ក្បួនន្មោះ ចមលងទំងស្រសរង ឬ
នៅក្នុងក្រណ្ីមានការយក្សមាសវែថុមក្ចមលងបនងកើែជាសមាសវែថងម
ុ ី តដលមានធ្លែុដាច់ នដាយ
តឡក្តែឯង ការយក្ធ្លែុនៅក្នុងសមាសវែថុណាមួយមក្តក្តរប មិននធវើឲ្យធ្លែុដូចោននៅក្នុង
សមាសវែថនផេងនទៀែរែូ
ុ វានតក្តរបនឡើយ ពីនរពាោះធ្លែុទំងន ោះជាវែថុខ្ុសៗោន។ ម៉ាងនទៀែ
ការយក្សមាសវែថមក្ចមល
ុ ងនដាយនរបើ ក្បួនន្មោះ ចមលងទំងស្រសរង ឬ deepcopy ននោះ នៅថា
ទំងស្រសរងនដើមបីបនងកើែសមាសវែថុងមី។
អាណាព្ាបាេ
នៅក្នុងន ោះមានវ ិធីពិនសសន្មោះ __enter__ និងវ ិធី ពិនសសន្មោះ __exit__ ។ ពិនិែយក្មមវ ិធី
ខាងនរកាមននោះ៖
ទំព័រ 327
def __enter__(សិសស) :
print("ឧឝ
ិ ីឡិណសសណ្មោះ __enter__ ររូឧាឞឤកណៅណរស។")
ើ
print("ឧឝ
ិ ីឡិណសសណ្មោះ __exit__ ររូឧាឞឤកណៅណរស។")
ើ
print(រសណអវថ្ឞកំហុស)
print(កំហុស)
print(ឡ័រ៌មាឞសោីឡីកំហុស)
ំ ុ ស, កហ
def __exit__(សិសស, រសណអវថ្ឞកហ ំ ុ ស, ឡ័រ៌មាឞសី ឡ ំ ុ ស) : េឺជាការបនងកើែវ ិធី
ោ ី កហ
បញ្ញា with
បញ្
ា with េឺ ជាបញ្
ា តដលរែូវយក្នៅនរបើជាមួយនឹងអាណាពាាលណាមួយ ក្នុង
នោលបំណ្ងែរមូវឲ្យអនុវែតរក្រមបញ្
ា នៅក្នុងបញ្
ា with ន ោះ។ នហើយនៅនពលតដលរក្រម
អាណាពាាលនឹងរែូវយក្មក្នរបើជាសវ័យរបវែតិ។ នហើយលុោះដល់រក្រមបញ្
ា នៅក្នុងបញ្
ា
def __enter__(សិសស) :
print("ឧឝ
ិ ីឡិណសសណ្មោះ __enter__ ររូឧាឞឤកណៅណរស។")
ើ
print("ឧឝ
ិ ីឡិណសសណ្មោះ __exit__ ររូឧាឞឤកណៅណរស។")
ើ
print(រសណអវថ្ឞកំហុស)
print(កំហុស)
print(ឡ័រ៌មាឞសោីឡីកំហុស)
print("រករឣសញ្ហ
ា ណៅកនុងសញ្ហ
ា with ររូឧាឞឤកណៅអឞុ ឧរោ។")
បញ្
ា with នឹងរែូវនធវើនឡើងនៅក្នុងក្រណ្ីទំងអស់ ដូចោននៅនឹងការអនុវែតន៍បញ្
ា class និងឬ
នពលណាតដលការអនុវែតន៍រក្រមបញ្
ា នៅក្នុងបញ្
ា with បណា
ត លឲ្យមានភាពមិនរបរក្ែីនក្ើែ
def __enter__(សិសស) :
print("ឧឝ
ិ ីឡិណសសណ្មោះ __enter__ ររូឧាឞឤកណៅណរស។")
ើ
return សិសស
print("ឧឝ
ិ ីឡិណសសណ្មោះ __exit__ ររូឧាឞឤកណៅណរស។")
ើ
print(រសណអវថ្ឞកំហុស)
print(កំហុស)
print(ឡ័រ៌មាឞសោីឡីកំហុស)
ទំព័រ 330
នៅនពលតដលរក្រមបញ្
ា នៅក្នុៃបញ្
ា with រែូវយក្នៅអនុវែត ភាពមិនរបរក្ែីរបនភទ
ត លឲ្យក្មមវ ិធីរែូវឈប់តលងដំនណ្ើរការនៅរែឹមន
របការននោះបណា ោះ។ ក្នុងក្រណ្ីននោះ នដើមបីឲ្យ
def __enter__(សិសស) :
print("ឧឝ
ិ ីឡិណសសណ្មោះ __enter__ ររូឧាឞឤកណៅណរស។")
ើ
return សិសស
print("ឧឝ
ិ ីឡិណសសណ្មោះ __exit__ ររូឧាឞឤកណៅណរស។")
ើ
print(រសណអវថ្ឞកំហុស)
ទំព័រ 331
print(កំហុស)
print(ឡ័រ៌មាឞសោីឡីកំហុស)
return True
return True េឺ ជាការបញ្ូា នែក្កវែថុ True នៅកាន់ក្តនលងតដលវ ិធី ពិនសសន្មោះ __exit__ រែូវ
ចប់នៅនដាយសរមួល។
បញ្ញា with/as
បញ្
ា with/as េឺ ជាបញ្
ា តដលរែូវយក្នៅនរបើជាមួយនឹងអាណាពាាលណាមួយ ក្នុង
នោលបំណ្ងែរមូវឲ្យអនុវែតរក្រមបញ្
ា នៅក្នុងន ោះ និងភាាប់ ន្មោះណាមួយនៅនឹងវែថុតដលវ ិធី
def __enter__(សិសស) :
print("ឧឝ
ិ ីឡិណសសណ្មោះ __enter__ ររូឧាឞឤកណៅណរស។")
ើ
print("ឧឝ
ិ ីឡិណសសណ្មោះ __exit__ ររូឧាឞឤកណៅណរស។")
ើ
print(រសណអវថ្ឞកំហុស)
print(កំហុស)
ទំព័រ 332
print(ឡ័រ៌មាឞសោីឡីកំហុស)
return True
print("រករឣសញ្ហ
ា ណៅកនុងសញ្ហ
ា with ររូឧាឞឤកណៅអឞុ ឧរោ។")
print(ឧរថុ)
ពាក្យបដចចក្ដទស
ក្ញ្ចប់ ................................................. 251 ក្បួនអ មិក្ ........................................ 271
បញ្
ា ..................................................... 18 តផនក្ទន់បក្តរប...................................... 18
បញ្
ា ចាែ់តំង ....................................... 92 ពហុបនតថានក្់ ........................................ 202
សមាសវែថអរូ
ុ បី ................................... 281 អាទិភាពថ្នរបមាណ្សញ្ដ ................... 29
ឯក្ាររាវរជាវ
Mark Lutz, Learning Python, Sebastopol : O’Reilly Media, 2007
Tony Gasddis, Starting Out with Python, Boston : Addison Wesley, 2008
Magnus Lie Hetland, Beginning Python : From Novice to Professional, Apress, 2005
Stef Maruch, Aahz Maruch, Python For Dummies, For Dummies, 2006
Michael Dawson, Python Programming for the Absolute Beginner, Course Technology,
2003
Peter C. Norton, Alex Samuel, Dave Aitel, Eric Foster-Johnson, Beginning Python,
Wrox, 2005
Alex Martelli, Anna Ravenscroft, David Ascher, Python Cookbook, O’Reilly Media,
2005