ការកំណត់អាគុយម៉ង់លំនាំដើមនៅក្នុងការកំណត់មុខងារ Python បណ្តាលឱ្យតម្លៃលំនាំដើមត្រូវបានប្រើ ប្រសិនបើអាគុយម៉ង់ត្រូវបានលុបចោលកំឡុងពេលហៅមុខងារ។
ព័ត៌មានលម្អិតខាងក្រោមត្រូវបានពិពណ៌នាខាងក្រោម។
- កំណត់អាគុយម៉ង់លំនាំដើម
- ឧបសគ្គលើទីតាំងនៃអាគុយម៉ង់លំនាំដើម
- ចំណាំថានៅពេលដែលបញ្ជី ឬវចនានុក្រមត្រូវបានប្រើជាតម្លៃលំនាំដើម
កំណត់អាគុយម៉ង់លំនាំដើម
ប្រសិនបើឈ្មោះអាគុយម៉ង់ = តម្លៃលំនាំដើមក្នុងនិយមន័យមុខងារ តម្លៃលំនាំដើមនឹងត្រូវបានប្រើនៅពេលដែលអាគុយម៉ង់ដែលត្រូវគ្នាត្រូវបានលុបចោល។
def func_default(arg1, arg2='default_x', arg3='default_y'): print(arg1) print(arg2) print(arg3) func_default('a') # a # default_x # default_y func_default('a', 'b') # a # b # default_y func_default('a', arg3='c') # a # default_x # c
ឧបសគ្គលើទីតាំងនៃអាគុយម៉ង់លំនាំដើម
ការដាក់អាគុយម៉ង់លំនាំដើមមុនអាគុយម៉ង់ធម្មតា (អាគុយម៉ង់ដែលមិនមានតម្លៃលំនាំដើមត្រូវបានបញ្ជាក់) ពេលកំណត់មុខងារនាំឱ្យមានកំហុស។SyntaxError
# def func_default_error(arg2='default_a', arg3='default_b', arg1): # print(arg1) # print(arg2) # SyntaxError: non-default argument follows default argument
ចំណាំថានៅពេលដែលបញ្ជី ឬវចនានុក្រមត្រូវបានប្រើជាតម្លៃលំនាំដើម
ប្រសិនបើវត្ថុដែលអាចផ្លាស់ប្តូរបាន (អាចផ្លាស់ប្តូរបាន) ដូចជាបញ្ជី ឬវចនានុក្រមត្រូវបានបញ្ជាក់ជាតម្លៃលំនាំដើម នោះវត្ថុនោះនឹងត្រូវបានបង្កើតនៅពេលដែលមុខងារត្រូវបានកំណត់។ បន្ទាប់មក នៅពេលដែលមុខងារត្រូវបានហៅដោយគ្មានអាគុយម៉ង់ដែលត្រូវគ្នានោះ វត្ថុដូចគ្នាត្រូវបានប្រើ។
តម្លៃអាគុយម៉ង់លំនាំដើមត្រូវបានវាយតម្លៃពីឆ្វេងទៅស្តាំ នៅពេលការកំណត់មុខងារត្រូវបានប្រតិបត្តិ។ នេះមានន័យថាកន្សោមអាគុយម៉ង់លំនាំដើមត្រូវបានវាយតម្លៃតែម្តងប៉ុណ្ណោះនៅពេលដែលមុខងារត្រូវបានកំណត់ ហើយតម្លៃ “គណនា” ដូចគ្នាត្រូវបានប្រើសម្រាប់ការហៅនីមួយៗ។
8.7. Function definitions — Python 3.10.2 Documentation
ដូច្នេះ ជាឧទាហរណ៍ ប្រសិនបើអនុគមន៍មួយត្រូវបានកំណត់ដែលយកបញ្ជី ឬវចនានុក្រមជាអាគុយម៉ង់លំនាំដើមរបស់វា ហើយបន្ថែមធាតុទៅវា ហើយត្រូវបានគេហៅថាច្រើនដងដោយគ្មានអាគុយម៉ង់នោះ ធាតុនឹងត្រូវបានបន្ថែមទៅវត្ថុដដែលម្តងហើយម្តងទៀត។
ឧទាហរណ៍សម្រាប់ការចុះបញ្ជី។
def func_default_list(l=[0, 1, 2], v=3): l.append(v) print(l) func_default_list([0, 0, 0], 100) # [0, 0, 0, 100] func_default_list() # [0, 1, 2, 3] func_default_list() # [0, 1, 2, 3, 3] func_default_list() # [0, 1, 2, 3, 3, 3]
ឧទាហរណ៍សម្រាប់វចនានុក្រម។
def func_default_dict(d={'default': 0}, k='new', v=100): d[k] = v print(d) func_default_dict() # {'default': 0, 'new': 100} func_default_dict(k='new2', v=200) # {'default': 0, 'new': 100, 'new2': 200}
វត្ថុថ្មីមួយត្រូវបានបង្កើតរាល់ពេលដែលមុខងារត្រូវបានហៅ។
def func_default_list_none(l=None, v=3): if l is None: l = [0, 1, 2] l.append(v) print(l) func_default_list_none() # [0, 1, 2, 3] func_default_list_none() # [0, 1, 2, 3]