នៅក្នុង C ការបញ្ជូនតម្លៃត្រឡប់ច្រើនពីមុខងារមួយគឺពិតជាធុញទ្រាន់ណាស់ ប៉ុន្តែនៅក្នុង Python វាងាយស្រួលធ្វើណាស់។
ត្រឡប់បំបែកដោយសញ្ញាក្បៀស
នៅក្នុង Python អ្នកគ្រាន់តែអាចត្រឡប់បញ្ជីខ្សែអក្សរ ឬលេខដែលបំបែកដោយសញ្ញាក្បៀស។
ជាឧទាហរណ៍ កំណត់មុខងារដែលត្រឡប់តែខ្សែអក្សរ និងលេខដូចដែលបានបង្ហាញខាងក្រោម ដោយនីមួយៗបំបែកដោយសញ្ញាក្បៀសបន្ទាប់ពីការត្រឡប់។
def test(): return 'abc', 100
នៅក្នុង Python តម្លៃដែលបំបែកដោយសញ្ញាក្បៀសត្រូវបានចាត់ទុកថាជា tuples ដោយគ្មានវង់ក្រចក លើកលែងតែកន្លែងដែលចាំបាច់ syntactically ។ ដូច្នេះ មុខងារក្នុងឧទាហរណ៍ខាងលើនឹងត្រឡប់ tuple ដែលមានតម្លៃនីមួយៗជាធាតុ។
វាគឺជាសញ្ញាក្បៀសដែលបង្កើត tuple មិនមែនតង្កៀបមូលនោះទេ។ តង្កៀបមូលអាចត្រូវបានលុបចោល លើកលែងតែក្នុងករណីនៃ tuples ទទេ ឬនៅពេលចាំបាច់ ដើម្បីជៀសវាងភាពមិនច្បាស់លាស់នៃវាក្យសម្ព័ន្ធ។
Built-in Types — Python 3.10.0 Documentation
ប្រភេទនៃតម្លៃត្រឡប់គឺ tuple ។
result = test() print(result) print(type(result)) # ('abc', 100) # <class 'tuple'>
ធាតុនីមួយៗនឹងជាប្រភេទដែលកំណត់ដោយមុខងារ។
print(result[0]) print(type(result[0])) # abc # <class 'str'> print(result[1]) print(type(result[1])) # 100 # <class 'int'>
កំហុសប្រសិនបើអ្នកបញ្ជាក់សន្ទស្សន៍ដែលលើសពីចំនួនតម្លៃត្រឡប់ដែលអ្នកបានកំណត់។
# print(result[2]) # IndexError: tuple index out of range
វាអាចត្រូវបានពន្លា ហើយតម្លៃត្រឡប់ច្រើនអាចត្រូវបានកំណត់ទៅអថេរដាច់ដោយឡែក។
a, b = test() print(a) # abc print(b) # 100
អនុវត្តដូចគ្នា ប្រសិនបើអ្នកចង់បញ្ជាក់តម្លៃត្រឡប់បី ឬច្រើនជំនួសឱ្យតែពីរ។
def test2(): return 'abc', 100, [0, 1, 2] a, b, c = test2() print(a) # abc print(b) # 100 print(c) # [0, 1, 2]
ត្រឡប់បញ្ជី។
[]
ប្រសិនបើអ្នកភ្ជាប់វាជាមួយនេះ តម្លៃត្រឡប់មកវិញនឹងជាបញ្ជីជំនួសឱ្យ tuple ។
def test_list(): return ['abc', 100] result = test_list() print(result) print(type(result)) # ['abc', 100] # <class 'list'>