Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การทำงานของสตริงใน Python


ใน python มีไลบรารีมาตรฐานที่เรียกว่า string . ในโมดูลสตริงจะมีค่าคงที่ เมธอด คลาสต่างๆ ที่เกี่ยวข้องกับสตริงที่แตกต่างกัน

ในการใช้โมดูลเหล่านี้ เราจำเป็นต้องนำเข้า โมดูลสตริง ในรหัสของเรา

นำเข้าสตริง

ค่าคงที่สตริงบางค่าและค่าที่สอดคล้องกันมีดังนี้ −

ซีเนียร์ ใส่ค่าคงที่สตริงและค่าลงไป
1 string.ascii_lowercase
'abcdefghijklmnopqrstuvwxyz'
2 string.ascii_uppercase
‘ABCDEFGHIJKLMNOPQRSTUVWXYZ’
3 string.ascii_letters
การต่อกันของ asci_lowwecase และ ascii_uppercase 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
4 string.digits
'0123456789'
5 string.hexdigits
'0123456789abcdefABCDEF'
6 string.octdigits
'01234567'
7 string.punctuation
'!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
8 string.printable
อักขระ ASCII ที่พิมพ์ได้ทั้งหมด เป็นชุดของตัวอักษร asci_letters เครื่องหมายวรรคตอน ตัวเลข และช่องว่าง'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~ \t \n\r\x0b\x0c'
9 string.whitespace
'\t\n\r\x0b\x0c'

โค้ดตัวอย่าง

นำเข้า stringprint(string.hexdigits)print(string.ascii_uppercase)print(string.printable)

ผลลัพธ์

0123456789abcdefABCDEFABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&'()*+,-./:;<=>?@[\]^_>{|} 

การจัดรูปแบบสตริง

คลาสสตริงในตัวใน python รองรับการแทนที่ตัวแปรที่ซับซ้อนที่แตกต่างกันและการจัดรูปแบบค่าโดยใช้เมธอด format()

ในการจัดรูปแบบสตริง ไวยากรณ์พื้นฐานคือ −

‘{} {}’.format(a, b)

ค่าของ a และ b จะอยู่ที่ตำแหน่งเหล่านั้น ซึ่งปิดด้วย '{}' นอกจากนี้เรายังสามารถจัดเตรียมพารามิเตอร์ตำแหน่งภายในเครื่องมือจัดฟัน หรือเขียนชื่อตัวแปรบางตัวก็ใช้ได้ในเครื่องหมายปีกกา

การใช้ตัวเลือกการจัดรูปแบบนี้ เราสามารถตั้งค่าการเติมลงในข้อความของเราได้ ในการเพิ่มช่องว่างภายในข้อความ ไวยากรณ์จะเป็นดังนี้ -

‘{:(ตัวอักษร)> (ความกว้าง)}’.format(‘สตริง’)

'สตริง' จะถูกเสริมโดยใช้ อักขระ . ที่เฉพาะเจาะจง ด้วย ความกว้าง ค่าไปทางขวาโดยใช้สัญลักษณ์> เราสามารถใช้ <เพื่อเลื่อนไปทางซ้าย ^ ให้ตั้งตรงกลาง

format() วิธีการยังสามารถตัดสตริงโดยใช้ความยาวที่กำหนด ไวยากรณ์เป็นเหมือน −

‘{:.length}’.format(‘string’) 

สตริงจะถูกตัดออกจนถึงความยาวที่กำหนด

โค้ดตัวอย่าง

print('The Name is {} and Roll {}'.format('Jhon', 40))print('ค่าคือ {2}, {1}, {3}, {0}'.format (50, 70, 30, 15)) #Using positional parameterprint('Value 1:{val1}, value 2:{val2}'.format(val2 =20, val1=10)) #using ชื่อตัวแปร#Padding the stringsprint ('{:>{width}}'.format('Hello', width=20))print('{:_^{width}}'.format('Hello', width=20)) #วางที่ ศูนย์. และใส่อักขระ '_' #ตัดสตริงโดยใช้ lengthprint('{:.5}'.format('Python Programming')) ที่กำหนด #ใช้อักขระ 5 ตัวแรกเท่านั้น

ผลลัพธ์


ชื่อคือจอนและโรล 40ค่าคือ 30, 70, 15, 50ค่า 1:10, ค่า 2:20Hello_______Hello________Pytho

เทมเพลตสตริง

สตริงเทมเพลตใช้เพื่อแทนที่สตริงด้วยวิธีที่ง่ายกว่า เทมเพลตรองรับการแทนที่โดยใช้อักขระ $ เมื่อ $identifier พบแล้วจะแทนที่ด้วยค่าใหม่ของตัวระบุ

ในการใช้เทมเพลตเป็นสตริง ไวยากรณ์พื้นฐานคือ −

myStr =string.Template(“$a จะถูกแทนที่”)myStr.substitute(a ='XYZ')

ค่าของ a ในสตริงจะถูกแทนที่ด้วย 'XYZ' ในสตริง เราสามารถใช้พจนานุกรมเพื่อดำเนินการประเภทนี้ได้

โค้ดตัวอย่าง

my_template =string.Template("ค่าของ A คือ $X และค่าของ B คือ $Y")my_str =my_template.substitute(X ='Python', Y='Programming')print(my_str)my_dict ={'key1' :144, 'key2' :169}my_template2 =string.Template("อันแรก $key1 และอันที่สอง $key2")my_str2 =my_template2.substitute(my_dict)print(my_str2)

ผลลัพธ์

ค่าของ A คือ Python และค่าของ B คือ Programming อันแรก 144 และอันที่สอง 169