Tuples ដែលមានធាតុតែមួយនៅក្នុង Python ទាមទារសញ្ញាក្បៀសនៅខាងក្រោយ

អាជីវកម្ម

Tuples ដែលជាវត្ថុលំដាប់ដែលមិនអាចផ្លាស់ប្តូរបាន (មិនអាចផ្លាស់ប្តូរបាន) នៅក្នុង Python ។

ត្រូវយកចិត្តទុកដាក់នៅពេលបង្កើត tuples ជាមួយធាតុតែមួយ ឬ tuples ទទេ។

ព័ត៌មានលម្អិតខាងក្រោមត្រូវបានពិពណ៌នានៅទីនេះ។

  • Tuple ជាមួយធាតុ 1
  • តង្កៀបរាងមូលអាចលុបចោលបាន។
  • tuple ទទេ
  • Tuples នៅក្នុងអាគុយម៉ង់មុខងារ

Tuple ជាមួយធាតុ 1

ប្រសិនបើអ្នកព្យាយាមបង្កើត tuple ជាមួយធាតុមួយ ហើយសរសេរតែវត្ថុមួយនៅខាងក្នុងតង្កៀបមូល () តង្កៀបមូល () នឹងត្រូវបានមិនអើពើ និងដំណើរការ ហើយមិនត្រូវបានចាត់ទុកថាជា tuple ទេ។

single_tuple_error = (0)

print(single_tuple_error)
print(type(single_tuple_error))
# 0
# <class 'int'>

សញ្ញាក្បៀសនៅខាងក្រោយត្រូវបានទាមទារដើម្បីបង្កើត tuple ដែលមានធាតុមួយ។

single_tuple = (0, )

print(single_tuple)
print(type(single_tuple))
# (0,)
# <class 'tuple'>

ជាឧទាហរណ៍ នៅពេលប្រើសញ្ញា + ដើម្បីភ្ជាប់ tuples ច្រើន ចំណាំថាប្រសិនបើអ្នកព្យាយាមបន្ថែមធាតុមួយ ហើយភ្លេចសញ្ញាក្បៀស អ្នកនឹងទទួលបានកំហុស។

# print((0, 1, 2) + (3))
# TypeError: can only concatenate tuple (not "int") to tuple

print((0, 1, 2) + (3, ))
# (0, 1, 2, 3)

តង្កៀបរាងមូលអាចលុបចោលបាន។

មូលហេតុដែល tuple ដែលមានធាតុមួយត្រូវការសញ្ញាក្បៀសគឺដោយសារតែ tuple មិនមែនជាតម្លៃដែលព័ទ្ធជុំវិញក្នុងតង្កៀបមូល () ប៉ុន្តែតម្លៃដែលបំបែកដោយសញ្ញាក្បៀស។

វាគឺជាសញ្ញាក្បៀសដែលបង្កើត tuple មិនមែនតង្កៀបមូលនោះទេ។
Tuples — Built-in Types — Python 3.10.4 Documentation

ទោះបីជាតង្កៀបមូល () ត្រូវបានលុបចោលក៏ដោយ វាត្រូវបានដំណើរការជា tuple ។

t = 0, 1, 2

print(t)
print(type(t))
# (0, 1, 2)
# <class 'tuple'>

ចំណាំថាសញ្ញាក្បៀសដែលមិនចាំបាច់បន្ទាប់ពីវត្ថុមួយត្រូវបានចាត់ទុកថាជា tuple ។

t_ = 0,

print(t_)
print(type(t_))
# (0,)
# <class 'tuple'>

tuple ទទេ

ដូចដែលបានរៀបរាប់ខាងលើ តង្កៀបមូល () អាចត្រូវបានលុបចោលនៅពេលដែលតំណាងឱ្យ tuple ប៉ុន្តែត្រូវបានទាមទារនៅពេលបង្កើត tuple ទទេ។

ដកឃ្លា ឬសញ្ញាក្បៀសតែម្នាក់ឯងនឹងបណ្តាលឱ្យមានកំហុស SyntaxError ។

empty_tuple = ()

print(empty_tuple)
print(type(empty_tuple))
# ()
# <class 'tuple'>

# empty_tuple_error = 
# SyntaxError: invalid syntax

# empty_tuple_error = ,
# SyntaxError: invalid syntax

# empty_tuple_error = (,)
# SyntaxError: invalid syntax

tuples ទទេក៏អាចបង្កើតបានដោយ tuple() ដោយគ្មានអាគុយម៉ង់។

empty_tuple = tuple()

print(empty_tuple)
print(type(empty_tuple))
# ()
# <class 'tuple'>

Tuples នៅក្នុងអាគុយម៉ង់មុខងារ

តង្កៀបមូល Tuple () ត្រូវបានទាមទារ សូម្បីតែនៅពេលមានភាពមិនច្បាស់លាស់វាក្យសម្ព័ន្ធក៏ដោយ។

អាគុយម៉ង់មុខងារត្រូវបានបំបែកដោយសញ្ញាក្បៀស ប៉ុន្តែក្នុងករណីនេះ ចាំបាច់ត្រូវបង្ហាញឱ្យច្បាស់ថាតើមុខងារជា tuple ឬអត់ ដោយសារវត្តមាន ឬអវត្តមាននៃតង្កៀបមូល ()។

ដោយគ្មានវង់ក្រចក () តម្លៃនីមួយៗត្រូវបានបញ្ជូនទៅអាគុយម៉ង់នីមួយៗ។ ជាមួយវង់ក្រចក () តម្លៃនីមួយៗត្រូវបានបញ្ជូនជា tuple ទៅអាគុយម៉ង់មួយ។

def example(a, b):
    print(a, type(a))
    print(b, type(b))

example(0, 1)
# 0 <class 'int'>
# 1 <class 'int'>

# example((0, 1))
# TypeError: example() missing 1 required positional argument: 'b'

example((0, 1), 2)
# (0, 1) <class 'tuple'>
# 2 <class 'int'>

ប្រសិនបើ tuple ត្រូវបានសម្គាល់ដោយសញ្ញាផ្កាយ * នោះធាតុនៃ tuple អាចត្រូវបានពង្រីក និងឆ្លងកាត់ជាអាគុយម៉ង់។

example(*(0, 1))
# 0 <class 'int'>
# 1 <class 'int'>

សម្រាប់ព័ត៌មានបន្ថែម សូមមើលអត្ថបទខាងក្រោម។

Copied title and URL