ការភ្ជាប់ និងភ្ជាប់ខ្សែអក្សរនៅក្នុង Python៖ + operators, join functions ។ល។

អាជីវកម្ម

ខាង​ក្រោម​នេះ​គឺ​ជា​ការ​ពិពណ៌នា​អំពី​របៀប​ភ្ជាប់​និង​ចូល​រួម​ខ្សែ​អក្សរ str ក្នុង Python។

  • ការភ្ជាប់និងបញ្ចូលគ្នានូវខ្សែអក្សរជាច្រើន។:+,+=ប្រតិបត្តិករ
  • ភ្ជាប់ និងបញ្ចូលគ្នានូវលេខ និងខ្សែអក្សរ:+,+=ប្រតិបត្តិករ,str(),format(),f-string
  • ភ្ជាប់ និងបញ្ចូលគ្នានូវបញ្ជី (អារេ) នៃខ្សែអក្សរទៅក្នុងខ្សែអក្សរតែមួយ:join()
  • ភ្ជាប់ និងបញ្ចូលគ្នានូវបញ្ជី (អារេ) នៃលេខទៅក្នុងខ្សែតែមួយ:join(),str()

ការភ្ជាប់និងបញ្ចូលគ្នានូវខ្សែអក្សរជាច្រើន។:+,+=ប្រតិបត្តិករ

ការតភ្ជាប់:+ប្រតិបត្តិករ

ប្រតិបត្តិករ ++ អាចត្រូវបានប្រើដើម្បីភ្ជាប់ព្យញ្ជនៈខ្សែអក្សរ និងអថេរខ្សែអក្សរខាងក្រោម

  • …’
  • “…”
s = 'aaa' + 'bbb' + 'ccc'
print(s)
# aaabbbccc

s1 = 'aaa'
s2 = 'bbb'
s3 = 'ccc'

s = s1 + s2 + s3
print(s)
# aaabbbccc

s = s1 + s2 + s3 + 'ddd'
print(s)
# aaabbbcccddd

ការតភ្ជាប់:+=ប្រតិបត្តិករ

ប្រតិបត្តិករ += ដែលជាប្រតិបត្តិករចាត់តាំងបន្ថែម ក៏អាចត្រូវបានប្រើផងដែរ។ អថេរខ្សែអក្សរនៅខាងឆ្វេងដៃត្រូវបានភ្ជាប់ជាមួយខ្សែអក្សរនៅខាងស្តាំដៃ ហើយត្រូវបានចាត់តាំង និងធ្វើបច្ចុប្បន្នភាព។

s1 += s2
print(s1)
# aaabbb

ប្រសិនបើអ្នកចង់បន្ថែមខ្សែអក្សរទៅចុងបញ្ចប់នៃអថេរខ្សែអក្សរ នោះគ្រាន់តែដំណើរការអថេរខ្សែអក្សរ និងខ្សែអក្សរណាមួយ (ឬអថេរខ្សែអក្សរផ្សេងទៀត) ជាមួយសញ្ញា += ។

s = 'aaa'

s += 'xxx'
print(s)
# aaaxxx

ការភ្ជាប់ជាប់គ្នានៃព្យញ្ជនៈខ្សែអក្សរ

ប្រសិនបើអ្នកគ្រាន់តែសរសេរព្យញ្ជនៈតាមខ្សែអក្សរជាប់គ្នា ព្យញ្ជនៈខ្សែនឹងត្រូវបានភ្ជាប់គ្នា។

s = 'aaa''bbb''ccc'
print(s)
# aaabbbccc

វា​អាច​ទទួល​យក​បាន​ក្នុង​ការ​មាន​ចន្លោះ​រវាង​បន្ទាត់​ពីរ ឬ​ការ​បំបែក​បន្ទាត់ backslash (ចាត់​ទុក​ថា​ជា​ការ​បន្ត)។

s = 'aaa'  'bbb'    'ccc'
print(s)
# aaabbbccc

s = 'aaa'\
    'bbb'\
    'ccc'
print(s)
# aaabbbccc

មាន​បច្ចេកទេស​ប្រើ​វា​ដើម្បី​សរសេរ​ខ្សែ​វែង​លើ​បន្ទាត់​ច្រើន​ក្នុង​កូដ។

វិធីសាស្ត្រសរសេរនេះមិនអាចទៅរួចសម្រាប់អថេរខ្សែអក្សរទេ។

# s = s1 s2 s3
# SyntaxError: invalid syntax

ការភ្ជាប់/ការភ្ជាប់ជាលេខ និងខ្សែអក្សរ:+,+=ប្រតិបត្តិករ,str(),format(),f-string

ប្រតិបត្តិការ A + នៃប្រភេទផ្សេងគ្នាបណ្តាលឱ្យមានកំហុស។

s1 = 'aaa'
s2 = 'bbb'

i = 100
f = 0.25

# s = s1 + i
# TypeError: must be str, not int

ប្រសិនបើអ្នកចង់ភ្ជាប់តម្លៃលេខ (ឧ. ប្រភេទចំនួនគត់ int ឬប្រភេទអណ្តែតអណ្តែត) ជាមួយខ្សែអក្សរ បំប្លែងតម្លៃលេខទៅជាប្រភេទខ្សែអក្សរជាមួយ str() ហើយបន្ទាប់មកភ្ជាប់ពួកវាជាមួយសញ្ញា + + (ឬ += operator )

s = s1 + '_' + str(i) + '_' + s2 + '_' + str(f)
print(s)
# aaa_100_bbb_0.25

ប្រសិនបើ​អ្នក​ចង់​បំប្លែង​ទម្រង់​លេខ ដូចជា​សូន្យ​បំពេញ ឬ​ខ្ទង់​ទសភាគ សូម​ប្រើ​មុខងារ format() ឬ​ទម្រង់​វិធីសាស្ត្រ​ខ្សែអក្សរ()។

s = s1 + '_' + format(i, '05') + '_' + s2 + '_' + format(f, '.5f')
print(s)
# aaa_00100_bbb_0.25000

s = '{}_{:05}_{}_{:.5f}'.format(s1, i, s2, f)
print(s)
# aaa_00100_bbb_0.25000

ជា​ការ​ពិត​ណាស់ វា​ក៏​អាច​បង្កប់​តម្លៃ​នៃ​អថេរ​មួយ​ដោយ​ផ្ទាល់​ក្នុង​ខ្សែ​អក្សរ​ដោយ​មិន​បាច់​ធ្វើ​ទ្រង់ទ្រាយ។ នេះគឺសាមញ្ញក្នុងការសរសេរជាងការប្រើ + operator

s = '{}_{}_{}_{}'.format(s1, i, s2, f)
print(s)
# aaa_100_bbb_0.25

សូមមើលអត្ថបទខាងក្រោមសម្រាប់ព័ត៌មានលម្អិតអំពីរបៀបបញ្ជាក់ទម្រង់។

ចាប់តាំងពី Python 3.6 មក យន្តការមួយហៅថា f-strings (f-string) ក៏ត្រូវបានណែនាំផងដែរ ដែលវាងាយស្រួលសរសេរជាង format()។

s = f'{s1}_{i:05}_{s2}_{f:.5f}'
print(s)
# aaa_00100_bbb_0.25000

s = f'{s1}_{i}_{s2}_{f}'
print(s)
# aaa_100_bbb_0.25

ភ្ជាប់និងចូលរួមបញ្ជី (អារេ) នៃខ្សែអក្សរ:join()

វិធីសាស្ត្រខ្សែអក្សរ join() អាចត្រូវបានប្រើដើម្បីភ្ជាប់បញ្ជីខ្សែអក្សរទៅក្នុងខ្សែតែមួយ។

ខាងក្រោមនេះជារបៀបសរសេរ។

'String to be inserted between'.join([List of strings to be concatenated])

ហៅ​ទៅ​ចូល​រួម () វិធីសាស្ត្រ​ជាមួយ ‘ខ្សែ​អក្សរ​ដើម្បី​បញ្ចូល​រវាង’ និង​ឆ្លង [បញ្ជី​ខ្សែ​អក្សរ​ដើម្បី​ភ្ជាប់] ជា​អាគុយម៉ង់។

ប្រសិនបើខ្សែអក្សរទទេត្រូវបានប្រើ [បញ្ជីខ្សែអក្សរដែលត្រូវភ្ជាប់] នឹងត្រូវបានភ្ជាប់យ៉ាងសាមញ្ញ ប្រសិនបើសញ្ញាក្បៀសត្រូវបានប្រើ នោះខ្សែអក្សរនឹងត្រូវបានបំបែកដោយសញ្ញាក្បៀស ហើយប្រសិនបើតួអក្សរបន្ទាត់ថ្មីត្រូវបានប្រើ ធាតុខ្សែអក្សរនីមួយៗនឹងត្រូវដាក់ជួរថ្មី។

l = ['aaa', 'bbb', 'ccc']

s = ''.join(l)
print(s)
# aaabbbccc

s = ','.join(l)
print(s)
# aaa,bbb,ccc

s = '-'.join(l)
print(s)
# aaa-bbb-ccc

s = '\n'.join(l)
print(s)
# aaa
# bbb
# ccc

ទោះបីជាមានតែឧទាហរណ៍នៃបញ្ជីមួយប៉ុណ្ណោះដែលត្រូវបានផ្តល់ឱ្យនៅទីនេះ វត្ថុដែលអាចផ្លាស់ប្តូរបានផ្សេងទៀតដូចជា tuples អាចត្រូវបានបញ្ជាក់ជាអាគុយម៉ង់ដើម្បីចូលរួម () ផងដែរ។

ផ្ទុយទៅនឹង join() split() ត្រូវបានប្រើដើម្បីបំបែកខ្សែអក្សរដែលកំណត់ដោយអ្នកកំណត់ព្រំដែនជាក់លាក់មួយ ហើយទទួលបានវាជាបញ្ជី។

ភ្ជាប់ និងបញ្ចូលគ្នានូវបញ្ជី (អារេ) នៃលេខជាខ្សែអក្សរ:join(),str()

កំហុសកើតឡើងប្រសិនបើអាគុយម៉ង់ដើម្បីចូលរួម () គឺជាបញ្ជីធាតុដែលមិនមែនជាខ្សែអក្សរ។

l = [0, 1, 2]

# s = '-'.join(l)
# TypeError: sequence item 0: expected str instance, int found

ដើម្បីភ្ជាប់បញ្ជីលេខទៅក្នុងខ្សែអក្សរតែមួយ សូមអនុវត្តមុខងារ str() ទៅនឹងធាតុនីមួយៗក្នុងបញ្ជីកំណត់ចំណាំ ដើម្បីបំប្លែងលេខទៅជាខ្សែអក្សរ ហើយបន្ទាប់មកភ្ជាប់ពួកវាជាមួយ join()។

s = '-'.join([str(n) for n in l])
print(s)
# 0-1-2

វាក៏អាចត្រូវបានសរសេរជាកន្សោមម៉ាស៊ីនភ្លើង ដែលជាកំណែម៉ាស៊ីនភ្លើងនៃការយល់បញ្ជី។ កន្សោមម៉ាស៊ីនភ្លើងត្រូវបានរុំព័ទ្ធក្នុងវង់ក្រចក ប៉ុន្តែវង់ក្រចកអាចត្រូវបានលុបចោល ប្រសិនបើកន្សោមម៉ាស៊ីនភ្លើងគឺជាអាគុយម៉ង់តែមួយគត់ចំពោះមុខងារ ឬវិធីសាស្ត្រ។

s = '-'.join((str(n) for n in l))
print(s)
# 0-1-2

s = '-'.join(str(n) for n in l)
print(s)
# 0-1-2

កន្សោមម៉ាស៊ីនភ្លើងជាទូទៅមានអត្ថប្រយោជន៍ក្នុងការប្រើប្រាស់អង្គចងចាំតិចជាងការយល់ក្នុងបញ្ជី ប៉ុន្តែមិនមានអត្ថប្រយោជន៍ពិសេសក្នុងការប្រើកន្សោមម៉ាស៊ីនភ្លើងទេចាប់តាំងពី join() បំប្លែងម៉ាស៊ីនភ្លើងទៅជាបញ្ជីនៅក្នុងដំណើរការខាងក្នុងរបស់វា។ តាមការពិត វាលឿនជាងបន្តិចក្នុងការប្រើការយល់បញ្ជីពីដំបូង។

សម្រាប់ព័ត៌មានបន្ថែមអំពីបញ្ជីការយល់ដឹង និងកន្សោមម៉ាស៊ីនភ្លើង សូមមើលអត្ថបទខាងក្រោម។

Copied title and URL