สตริงเป็นหนึ่งในประเภทข้อมูลพื้นฐานใน Python สตริง Python คือการรวมกันของอักขระจำนวนเท่าใดก็ได้ที่สร้างจากตัวอักษร ตัวเลข และอักขระพิเศษอื่นๆ ในบทช่วยสอนนี้ คุณจะได้เรียนรู้วิธีสร้าง จัดการ และจัดรูปแบบเพื่อใช้ในสถานการณ์ต่างๆ
สร้างสตริงใหม่ใน Python
ในการสร้างสตริง Python ใหม่ คุณเพียงแค่ประกาศลำดับของอักขระที่ล้อมรอบด้วยอัญประกาศเดี่ยวหรือคู่ เครื่องหมายอัญประกาศสามตัวยังใช้สำหรับสตริงที่มีความยาวหลายบรรทัดด้วย
double_quotes = "My name is John!"
single_quotes = 'My name is John!'
multi_line_string = '''1. My name is John!
2. I am a programmer'''
การจัดทำดัชนีสตริง
อักขระทุกตัวในสตริง Python มีดัชนีจำนวนเต็ม การสร้างดัชนีเริ่มต้นจาก 0 ที่อักขระตัวแรกและเพิ่มขึ้นตามสตริง คุณสามารถใช้ดัชนีของอักขระแต่ละตัวเพื่อดึงอักขระนั้นจากสตริงดังที่แสดงในตัวอย่างต่อไปนี้
myPet = "Dog not a cat"
myPet[0] # 'D'
myPet[5] # 'o'
myPet[7] # ' '
myPet[12] # 't'
# myPet[15] # IndexError
การพยายามเข้าถึงอักขระที่อยู่นอกเหนือดัชนีของอักขระสุดท้ายจะส่งผลให้เกิด IndexError .
คุณสามารถเข้าถึงอักขระในสตริงได้โดยใช้ดัชนีลบ ในกรณีนี้ การสร้างดัชนีจะเริ่มต้นจาก -1 ที่อักขระสุดท้ายของสตริง และจะเพิ่มขึ้นในทางลบเมื่อคุณย้อนกลับ
myPet = "Dog not a cat"
myPet[-1] # 't'
myPet[-6] # ' '
myPet[-8] # 'o'
myPet[-13] # 'D'
การสไลซ์สตริง
Slicing เป็นวิธีการแยกสตริงย่อย (ส่วนหนึ่งของสตริง) ออกจากสตริง งานนี้สำเร็จได้ด้วยความช่วยเหลือของการสร้างดัชนีสตริง
myPet = "Dog not a cat"
myPet[5:7] # 'ot'
myPet[1:12] # 'og not a ca'
ที่นี่ ดัชนีสองดัชนีถูกจัดเตรียมโดยเครื่องหมายทวิภาค ดัชนีแรกระบุตำแหน่งที่จะเริ่มการแบ่งส่วน และดัชนีที่สองระบุตำแหน่งที่จะหยุด สตริงย่อยที่เป็นผลลัพธ์ประกอบด้วยอักขระจากดัชนีเริ่มต้นไปยังอักขระก่อนดัชนีสิ้นสุด อักขระที่ดัชนีสิ้นสุดจะไม่รวมอยู่ในสตริงย่อย
หากคุณไม่ได้ระบุดัชนีเริ่มต้น การแบ่งส่วนจะเริ่มต้นที่อักขระตัวแรกของสตริง หากคุณไม่ได้ระบุดัชนีสิ้นสุด การแบ่งส่วนจะสิ้นสุดที่อักขระสุดท้ายในขณะที่รวมอักขระนั้นในสตริงย่อยที่ได้
myPet = "Dog not a cat"
myPet[:7] # 'Dog not'
myPet[10:] # 'cat'
myPet[:] # 'Dog not a cat'
คุณสามารถระบุดัชนีเชิงลบเป็นดัชนีแบ่งส่วนได้เช่นกัน
myPet = "Dog not a cat"
myPet[10:-1] # 'ca'
ความยาวของสตริง
เมธอด Python ในตัว len()
ส่งออกความยาวของสตริง
myPet = "Dog not a cat"
len(myPet) # 13
วนซ้ำผ่านสตริง
คุณสามารถวนซ้ำอักขระแต่ละตัวในสตริงโดยใช้ for
วนซ้ำ
ตัวอย่าง:
name = "John"
for char in name:
print(char)
# 'J', 'o', 'h', 'n'
การต่อสตริง
การต่อสตริงคือการรวมสตริงตั้งแต่สองสตริงขึ้นไปเพื่อสร้างสตริงเดียว ใน Python มีหลายวิธีในการต่อสตริง
หนึ่งกำลังใช้ +
โอเปอเรเตอร์
str1 = 'Hello'
str2 = 'World'
concat_str = str1 + str2 # 'HelloWorld'
concat_str = str1 + ' ' + str2 # 'Hello World'
คุณสามารถใช้ *
โอเปอเรเตอร์เพื่อเชื่อมสตริงกับตัวเองหลายครั้ง
concat_str = str1*3 # 'HelloHelloHello'
อีกวิธีในการต่อสตริงคือผ่าน join()
วิธีการ
ในตัว join()
เมธอดใช้เพื่อเชื่อมอาร์เรย์ของสตริงโดยใช้ตัวคั่นร่วม
arr = [str1, str2]
concat_str = (' ').join(arr) # 'Hello World'
concat_str = (',').join(arr) # 'Hello,World'
ในโค้ดด้านบน join()
. ตัวแรก วิธีการเพิ่มช่องว่างระหว่างทุกคำในอาร์เรย์
join()
ตัวที่สอง วิธีแทรกเครื่องหมายจุลภาคระหว่างทุกคำในอาร์เรย์
การต่อสตริงและ Int
ใน Python เราสามารถเชื่อมสตริงเป็นจำนวนเต็มได้ แต่ไม่ใช่ด้วย +
โอเปอเรเตอร์ หากเราพยายามใช้รหัสต่อไปนี้:
name = "John"
age = 35
print(a + b)
เราจะได้:
Traceback (most recent call last):
File "concat.py", line 5, in <module>
print(a + b)
TypeError: can only concatenate str (not "int") to str
หมายเหตุ:คุณไม่สามารถเชื่อมสตริงและจำนวนเต็มโดยใช้ +
โอเปอเรเตอร์
เพื่อหลีกเลี่ยงข้อผิดพลาดนี้ เราสามารถใช้ str()
วิธีการแปลงจำนวนเต็มเป็นสตริง เช่น:
name = "John "
age = "35"
print(a + str(b)) #John 35
วิธีแยกสตริง
ในตัว split()
เมธอดใช้เพื่อแยกสตริงเดียวออกเป็นอาร์เรย์ของสตริง
string = "My name is John"
split_arr = string.split(' ') # ['My', 'name', 'is', 'John']
We can also split a string using a separator:
string = "John, Rose, Jack, Mary"
split_arr = string.split(', ') # ['John', 'Rose', 'Jack', 'Mary']
สตริป - ลบช่องว่าง
strip()
วิธีการสตริงในตัวใช้เพื่อลบช่องว่างจากจุดเริ่มต้นและจุดสิ้นสุดของสตริง
string = " Hello, World "
stripper_str = string.strip() # 'Hello, World'
อย่างที่คุณเห็น strip()
ไม่ได้ลบช่องว่างสีขาวที่อยู่ระหว่างอักขระอื่น แต่เฉพาะที่ปลายทั้งสองเท่านั้น
strip()
. มีสองรูปแบบ วิธี แถบด้านซ้าย และแถบด้านขวา:
lstrip()
rstrip()
วิธีการเหล่านี้จะลบช่องว่างที่ด้านซ้ายและด้านขวาของสตริงตามลำดับ
ตัวอย่าง:
lsplit_str = string.lstrip() # 'Hello, World '
rsplit_str = string.rstrip() # ' Hello, World'
เมธอด Strip มีประโยชน์อย่างยิ่งเมื่ออ่านอินพุตของผู้ใช้ ซึ่งผู้ใช้สามารถส่งช่องว่างเพิ่มเติมได้
การจัดรูปแบบสตริง
format()
ของ Python เมธอดใช้เพื่อจัดรูปแบบสตริง วงเล็บปีกกา {}
ใช้ภายในสตริงที่ต้องจัดรูปแบบเป็นตัวยึดสำหรับส่วนที่ต้องการแทนที่ด้วยอาร์กิวเมนต์ที่ให้ไว้กับ format()
วิธีการ
ตัวอย่าง:
"Hello, {}".format('John') # 'Hello, John'
ในตัวอย่างข้างต้น {}
ถูกแทนที่ด้วย 'John' ในสตริงที่จัดรูปแบบ
คุณสามารถใช้วงเล็บปีกกามากกว่าหนึ่งอันภายในสตริงเพื่อจัดรูปแบบ พวกเขาจะถูกแทนที่ด้วยอาร์กิวเมนต์ที่ให้ไว้กับ format()
วิธีในลำดับที่ระบุ (หากไม่มีการระบุตำแหน่งในวงเล็บปีกกา) หรือลำดับตำแหน่ง
ตัวอย่าง:
"I have a {}, {}, and a {}".format('dog', 'cat', 'rabbit') # 'I have a dog, cat, and a rabbit'
"I have a {1}, {0}, and a {2}".format('dog', 'cat', 'rabbit') # 'I have a cat, dog, and a rabbit'
แทนที่จะใช้ดัชนี คุณสามารถระบุอาร์กิวเมนต์ของคีย์เวิร์ดให้กับ format()
เพื่อให้สามารถใช้คีย์เวิร์ดเหล่านั้นในวงเล็บปีกกาได้
ตัวอย่าง:
print("{friend} is my friend and {enemy} is my enemy".format(friend="John", enemy="Jack"))
# 'John is my friend and Jack is my enemy'
format()
วิธีการค่อนข้างหลากหลายเพราะใช้ได้กับหลายกรณี
ต่อไปนี้เป็นแอปพลิเคชันอื่นๆ ของ format()
วิธีการ:
arr = [3, 5]
'I have {0[0]} dogs and {0[1]} cats'.format(arr)
# 'I have 3 dogs and 4 cats'
#convert numbers to different bases
"int: {0:d}; hex: {0:x}; oct: {0:o}; bin: {0:b}".format(42)
# 'int: 42; hex: 2a; oct: 52; bin: 101010'
แปลงสตริงเป็นตัวพิมพ์เล็ก
การใช้ lower()
. ของ Python วิธี คุณสามารถแปลงสตริงเป็นตัวพิมพ์เล็กได้
ตัวอย่าง:
string = "Hello, World!"
string.lower() # 'hello, world!'
แปลงสตริงเป็นตัวพิมพ์ใหญ่
ในทำนองเดียวกันโดยใช้ upper()
. ของ Python วิธี คุณสามารถแปลงสตริงเป็นตัวพิมพ์ใหญ่ได้
ตัวอย่าง:
string = "Hello, World!"
string.upper() # 'HELLO, WORLD!'
บทสรุป
ฉันหวังว่าด้วยความช่วยเหลือจากบทช่วยสอนนี้ คุณจะคุ้นเคยกับสตริง Python และวิธีใช้วิธีการต่างๆ สำหรับการดำเนินการสตริง
ข้อมูลอ้างอิง:เอกสารสตริงของ Python