ខាងក្រោមនេះគឺជាការពិពណ៌នាអំពីរបៀបភ្ជាប់និងចូលរួមខ្សែអក្សរ 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
មានបច្ចេកទេសប្រើវាដើម្បីសរសេរខ្សែវែងលើបន្ទាត់ច្រើនក្នុងកូដ។
- អត្ថបទដែលទាក់ទង:ការសរសេរខ្សែអក្សរវែងនៅលើបន្ទាត់ជាច្រើននៅក្នុង Python
វិធីសាស្ត្រសរសេរនេះមិនអាចទៅរួចសម្រាប់អថេរខ្សែអក្សរទេ។
# 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 ទ្រង់ទ្រាយ (0-filling, exponential notation, hexadecimal ។ល។)
ចាប់តាំងពី 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() បំប្លែងម៉ាស៊ីនភ្លើងទៅជាបញ្ជីនៅក្នុងដំណើរការខាងក្នុងរបស់វា។ តាមការពិត វាលឿនជាងបន្តិចក្នុងការប្រើការយល់បញ្ជីពីដំបូង។
សម្រាប់ព័ត៌មានបន្ថែមអំពីបញ្ជីការយល់ដឹង និងកន្សោមម៉ាស៊ីនភ្លើង សូមមើលអត្ថបទខាងក្រោម។
- អត្ថបទដែលទាក់ទង:របៀបប្រើការយល់បញ្ជី Python