មុខងារ
រហូតមកដល់ពេលនេះ យើងបាននិងកំពុងសរសេរកូដរបស់យើងទាំងអស់នៅក្នុង app.py ប៉ុន្តែនៅពេលដែលកម្មវិធីរបស់យើងរីកចម្រើន យើងត្រូវការវិធីល្អប្រសើរជាងមុនដើម្បីរៀបចំកូដរបស់យើង។ យើងត្រូវបំបែកកូដរបស់យើងទៅជាផ្នែកតូចៗ ដែលអាចគ្រប់គ្រងបាន និងអាចរក្សាបានកាន់តែច្រើន ដែលយើងហៅថាមុខងារ។ មុខងារគឺជាកុងតឺន័រសម្រាប់បន្ទាត់មួយចំនួននៃកូដដែលអនុវត្តកិច្ចការជាក់លាក់មួយ។
ឧទាហរណ៍ អ្នកបានរៀនរួចហើយអំពីមុខងារដែលបានភ្ជាប់មកក្នុងមួយចំនួនក្នុង Python print()
និង input()
. មុខងារនីមួយៗមានគោលបំណង និងដឹងពីរបៀបអនុវត្តកិច្ចការជាក់លាក់មួយ។ ដូច្នេះ នៅពេលដែលយើងបង្កើតកម្មវិធីស្មុគ្រស្មាញធំៗ យើងគួរតែបំបែកកូដរបស់យើងទៅជាកំណាត់តូចៗដែលអាចប្រើឡើងវិញបាន ពោលគឺមុខងារ។
អនុញ្ញាតឱ្យយើងយល់ពីគំនិតនេះដោយបង្កើតកម្មវិធីសម្រាប់បោះពុម្ពសារស្វាគមន៍។
print('Hi there!')
print('Welcome aboard!')
នៅទីនេះយើងមានកម្មវិធីសាមញ្ញមួយដែលមានកូដពីរបន្ទាត់ប៉ុណ្ណោះ។ ឥឡូវនេះ ឧបមាថា យើងនឹងត្រូវការវានៅក្នុងកម្មវិធីផ្សេងទៀត ដើម្បីដាក់វានៅក្នុងមុខងារដែលយើងអាចប្រើឡើងវិញបាន។
ខ្ញុំសូមណែនាំពាក្យគន្លឹះដែលបានបម្រុងទុក def
នៅក្នុង Python ដែលខ្លីសម្រាប់កំណត់ និងប្រើសម្រាប់កំណត់មុខងារមួយ។
def greet_user():
print('Hi there!')
print('Welcome aboard!')
ឥឡូវនេះ ប្លុកកូដនេះនឹងកំណត់មុខងារ “greet_user
"ជាមួយនឹងបន្ទាត់នៃកូដបន្ទាប់ពីនោះ។ នៅពេលណាដែលមុខងារនេះត្រូវបានហៅ បន្ទាត់ទាំងពីរនេះនឹងត្រូវបានប្រតិបត្តិ។ តោះប្រើវា៖
print('start')
greet_user()
print('finish')
កម្មវិធីត្រូវបានប្រតិបត្តិតាមលំដាប់លំដោយ មានន័យថា អ្នកនឹងត្រូវកំណត់មុខងារមួយ មុនពេលហៅវាទៅក្នុងកម្មវិធី។
ប៉ារ៉ាម៉ែត្រ
មុខងារដែលបានកំណត់ដំណើរការខុសពីមុខងារដែលភ្ជាប់មកជាមួយរបស់ Python បន្តិច។ ឧទាហរណ៍ក្នុងករណី print()
មុខងារមួយ វាត្រូវការព័ត៌មានមួយចំនួនដែលយើងចង់បោះពុម្ព ប៉ុន្តែមុខងារស្វាគមន៍របស់យើងមិនយកព័ត៌មានណាមួយទេ។ តើវាមិនល្អជាងនេះទេ ប្រសិនបើអ្នកអាចបញ្ជូនឈ្មោះអ្នកប្រើប្រាស់នៅទីនេះ ហើយបន្ទាប់មក ជំនួសឱ្យការនិយាយថា "សួស្តីនៅទីនោះ" អ្នកអាចបោះពុម្ពឈ្មោះរបស់អ្នកប្រើបាន?
អ្នកអាចធ្វើដូចនេះបានដោយបន្ថែមប៉ារ៉ាម៉ែត្រនៅខាងក្នុងវង់ក្រចកនៃមុខងារដែលបានកំណត់។ ខ្ញុំសូមបង្ហាញអ្នក៖
def greet_user(name):
print('Hi there!')
print('Welcome aboard!')
ឥឡូវនេះ "name
នៅខាងក្នុងវង់ក្រចកនឹងដើរតួជាអថេរមូលដ្ឋាន ហើយយើងអាចបញ្ជូនឈ្មោះអ្នកប្រើប្រាស់នៅពេលហៅវា។
greet_user('Shahbaz')
ឥឡូវនេះប៉ារ៉ាម៉ែត្រឈ្មោះត្រូវបានកំណត់ទៅ "Shahbaz
”។ តោះកែប្រែកម្មវិធីដើម្បីប្រើប្រាស់។
def greet_user(name):
print(f'Hi {name}')
print('Welcome aboard!')
print('start')
greet_user('Shahbaz')
print('finish')
រឿងសំខាន់ដែលត្រូវកត់សម្គាល់គឺថា "ឈ្មោះ" នៅក្នុងជួរទីមួយត្រូវបានគេហៅថា ប៉ារ៉ាម៉ែត ចំណែកឯឈ្មោះដែលបានផ្តល់ឱ្យ ពោលគឺ Shahbaz ត្រូវបានគេហៅថាអាគុយម៉ង់។
ចូរបន្តដំណើរការកម្មវិធីនេះ។
ដូច្នេះជាមួយនឹងប៉ារ៉ាម៉ែត្រទាំងនេះយើងអាចទទួលបានព័ត៌មាននៅក្នុងមុខងាររបស់យើង។
ឥឡូវនេះ ចូរយើងធ្វើអ្វីដែលគួរឱ្យចាប់អារម្មណ៍។ ចូរនិយាយថាអ្នកចង់បន្ថែមឈ្មោះផ្សេងទៀតទៅសារស្វាគមន៍។ វាសាមញ្ញ។
def greet_user(name):
print(f'Hi {name}')
print('Welcome aboard!')
print('start')
greet_user('Shahbaz')
greet_user('Aayush')
print('finish')
ឥឡូវសូមចំណាំថាពេលអនុគមន៍មានប៉ារ៉ាម៉ែត្រ យើងត្រូវមានកាតព្វកិច្ចឆ្លងកាត់តម្លៃសម្រាប់ប៉ារ៉ាម៉ែត្រនោះ។ ប្រសិនបើអ្នកដកឈ្មោះចេញពីមុខងារ ហើយដំណើរការកម្មវិធីនោះ យើងនឹងទទួលបានកំហុស។ អ្នកក៏អាចប្រើប៉ារ៉ាម៉ែត្រច្រើនក្នុងមុខងារតែមួយ ដោយបំបែកដោយសញ្ញាក្បៀស។
ឧទាហរណ៍, greet_user(first_name, last_name):
. អាគុយម៉ង់ក៏នឹងត្រូវបានធ្វើទ្រង់ទ្រាយដូចគ្នាដែរ។
អាគុយម៉ង់ពាក្យគន្លឹះ
រហូតមកដល់ពេលនេះ យើងបានដឹងថានៅពេលណាដែលយើងកំណត់ប៉ារ៉ាម៉ែត្រសម្រាប់មុខងាររបស់យើង យើងគួរតែផ្គត់ផ្គង់តម្លៃជានិច្ច បើមិនដូច្នេះទេ យើងនឹងទទួលបានកំហុស។ នៅក្នុងកម្មវិធីចុងក្រោយ, អាគុយម៉ង់ 'Shahbaz'
និង 'Bhatti'
ត្រូវបានគេហៅថា positional arguments ដែលមានន័យថាតំណែងឬបញ្ហាលំដាប់របស់ពួកគេក្នុងកម្មវិធី។
នៅក្នុង Python យើងមាន argument មួយប្រភេទទៀតដែលហៅថា keyword arguments ដែលទីតាំងមិនសំខាន់។ ខ្ញុំសូមបង្ហាញអ្នកពីរបៀបដែលពួកគេធ្វើការ។
មើលកម្មវិធីចុងក្រោយ។ យើងអាចកែប្រែវាដូចនេះ៖
def greet_user(first_name, last_name):
print(f'Hi {first_name} {last_name}')
print('Welcome aboard!')
print('start')
greet_user(first_name='Shahbaz', last_name='Bhatti')
print('finish')
ឥឡូវនេះ first_name
និង last_name
គឺជាប៉ារ៉ាម៉ែត្រពាក្យគន្លឹះ។ អ្នកអាចប្តូរកន្លែងរបស់ពួកគេ ហើយលទ្ធផលនឹងដូចគ្នា។
ឥឡូវនេះវាមិនមានន័យថាយើងគួរតែប្រើអាគុយម៉ង់ពាក្យគន្លឹះជានិច្ចនោះទេ។ ភាគច្រើននៃពេលវេលាដែលយើងប្រើអាគុយម៉ង់ទីតាំង ប៉ុន្តែនៅក្នុងស្ថានភាពជាក់លាក់ អាគុយម៉ង់ពាក្យគន្លឹះទាំងនេះជួយយើងកែលម្អលទ្ធភាពអានកូដរបស់យើង។
មានរឿងមួយទៀតដែលអ្នកត្រូវដឹងអំពីអាគុយម៉ង់ពាក្យគន្លឹះ។ អាគុយម៉ង់ពាក្យគន្លឹះគួរតែកើតឡើងបន្ទាប់ពីអាគុយម៉ង់ទីតាំង។
សេចក្តីថ្លែងការណ៍ត្រឡប់មកវិញ
រហូតមកដល់ពេលនេះយើងបានរៀនពីរបៀបបង្កើតមុខងារនិងបញ្ជូនព័ត៌មានឱ្យពួកគេដោយប្រើប៉ារ៉ាម៉ែត្ររបស់វា។ ឥឡូវយើងរៀនពីរបៀបបង្កើតមុខងារដែលត្រឡប់តម្លៃ។ វាមានប្រយោជន៍ជាពិសេសប្រសិនបើអ្នកកំពុងធ្វើការគណនាមួយចំនួន ហើយអ្នកចង់ប្រគល់លទ្ធផលទៅអ្នកណាដែលកំពុងប្រើមុខងាររបស់អ្នក។ អនុញ្ញាតឱ្យខ្ញុំបង្ហាញអ្នក។
ចូរកំណត់អនុគមន៍ដែលនឹងគណនាការេនៃចំនួនមួយ។
def square(number):
return number*number
យើងបានប្រើពាក្យត្រឡប់ដើម្បីត្រឡប់លេខនេះនៅក្រៅមុខងារ។ ឥឡូវនេះ ប្រសិនបើយើងហៅមុខងារនេះ វាត្រឡប់តម្លៃមួយដូចទៅនឹង input()
មុខងារ។ តោះបោះពុម្ពវានៅលើស្ថានីយ។
អ្នកអាចប្រកែកថាលទ្ធផលដូចគ្នាអាចទទួលបានដោយមិនប្រើសេចក្តីថ្លែងការណ៍ត្រឡប់។ សូមពិនិត្យមើលវាចេញ។
យើងឃើញរឿងពីរគឺលេខ 9 និងគ្មាន។ តើមានអ្វីកើតឡើងនៅទីនេះ?
នៅពេលអ្នកបកប្រែ Python ប្រតិបត្តិកូដនេះ ដំបូងវានឹងហៅមុខងារការ៉េ ហើយវត្ថុបញ្ជាផ្លាស់ទីទៅមុខងារ។ នៅទីនេះយើងគណនាការ៉េនៃលេខដែលបានផ្តល់ឱ្យនេះហើយបន្ទាប់មកបោះពុម្ពវានៅលើស្ថានីយ។
ឥឡូវនេះ តាមលំនាំដើម មុខងារទាំងអស់ត្រឡប់តម្លៃគ្មាន។ ដូច្នេះប្រសិនបើយើងមិនមានសេចក្តីថ្លែងការណ៍ត្រឡប់នៅទីនេះ តាមលំនាំដើម Python នឹងមិនត្រឡប់មកវិញទេ។ គ្មានគឺជាវត្ថុដែលតំណាងឱ្យអវត្តមាននៃតម្លៃ។ វាដូចជាគ្មានអ្វីឬទទេនៅក្នុង C, C++, Java និង Javascript ។
ក្តោប!
ខ្ញុំសង្ឃឹមថាអ្នកបានយល់ពីសារៈសំខាន់នៃមុខងារ។
ពួកវាជាទិដ្ឋភាពសំខាន់នៃការរៀន Python ប្រសិនបើអ្នកមានគម្រោងសរសេរកម្មវិធីធំៗ និងស្មុគស្មាញក្នុងអំឡុងពេលអាជីពសរសេរកូដរបស់អ្នក។
សូមផ្ដល់យោបល់