สตริง

ประเภทภาษาในตัวเพื่อรองรับสตริง ตัวอย่างอักษรสตริง
a = 'abc\ndef'
b = "ab'cd"
c = """multiline string"""

# Strings support slicing (negative index starts from the end):
x = "hello"[2:4]  # "ll"
y = "hello"[1:-1]  # "ell"
z = "hello"[:4]  # "hell"# Slice steps can be used, too:
s = "hello"[::2] # "hlo"
t = "hello"[3:0:-1] # "lle"
สตริงไม่สามารถวนซ้ำได้โดยตรง ให้ใช้วิธี .elems() เพื่อวนซ้ำอักขระของสตริง ตัวอย่าง
"bc" in "abcd"   # evaluates to True
x = [c for c in "abc".elems()]  # x == ["a", "b", "c"]
ไม่อนุญาตให้ต่อสตริงโดยนัย โปรดใช้ตัวดำเนินการ + แทน โอเปอเรเตอร์การเปรียบเทียบจะทำการเปรียบเทียบตามพจนานุกรม ให้ใช้ == เพื่อทดสอบความเท่ากัน

สมาชิก

ตัวพิมพ์ใหญ่

string string.capitalize()

แสดงผลสำเนาของสตริงโดยมีอักขระตัวแรก (หากมี) เป็นตัวพิมพ์ใหญ่และอักขระที่เหลือเป็นตัวพิมพ์เล็ก วิธีการนี้ไม่รองรับอักขระที่ไม่ใช่ ASCII

จำนวน

int string.count(sub, start=0, end=None)

แสดงผลจำนวนครั้งที่สตริงย่อย sub ปรากฏ (ไม่ซ้อนทับกัน) ในสตริง โดยอาจจำกัดให้ [start:end] และ start รวมอยู่ด้วย และ end ไม่รวมอยู่ด้วย

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
sub string; required
สตริงย่อยที่จะนับ
start int หรือ None; ค่าเริ่มต้นคือ 0
จำกัดการค้นหาจากตำแหน่งนี้
end int หรือ None ค่าเริ่มต้นคือ None
ตำแหน่งที่ไม่บังคับก่อนที่จะจำกัดการค้นหา

elems

sequence string.elems()

แสดงผลค่าที่วนซ้ำได้ซึ่งมีสตริงย่อยแบบ 1 องค์ประกอบที่ต่อเนื่องกันของสตริง เทียบเท่ากับ [s[i] for i in range(len(s))] ยกเว้นค่าที่แสดงผลอาจไม่ใช่รายการ

endswith

bool string.endswith(sub, start=0, end=None)

แสดงค่า True หากสตริงลงท้ายด้วย sub มิเช่นนั้นจะแสดงค่า False โดยอาจจำกัดเป็น [start:end], start ซึ่งรวมอยู่ด้วย และ end ซึ่งไม่รวมอยู่ด้วย

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
sub string หรือ tuple ของ strings required
ส่วนต่อท้าย (หรือ tuple ของส่วนต่อท้ายทางเลือก) ที่จะจับคู่
start int หรือ None; ค่าเริ่มต้นคือ 0
ทดสอบโดยเริ่มที่ตำแหน่งนี้
end int หรือ None; ค่าเริ่มต้นคือ None
ตำแหน่งที่ไม่บังคับที่จะหยุดการเปรียบเทียบ

ค้นหา

int string.find(sub, start=0, end=None)

แสดงดัชนีแรกที่พบ sub หรือ -1 หากไม่มีดัชนีดังกล่าว โดยอาจจำกัดเฉพาะ [start:end], start ซึ่งรวมถึง และ end ซึ่งไม่รวม

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
sub string; required
สตริงย่อยที่จะค้นหา
start int หรือ None; ค่าเริ่มต้นคือ 0
จำกัดการค้นหาจากตำแหน่งนี้
end int หรือ None ค่าเริ่มต้นคือ None
ตำแหน่งที่ไม่บังคับก่อนที่จะจำกัดการค้นหา

รูปแบบ

string string.format(*args, **kwargs)

ทำการประมาณค่าในช่วงของสตริง สตริงรูปแบบมีฟิลด์การแทนที่ที่อยู่ในเครื่องหมายปีกกา {} ข้อความใดๆ ที่ไม่ได้อยู่ในวงเล็บปีกกาจะถือเป็นข้อความตามตัวอักษร ซึ่งจะคัดลอกไปยังเอาต์พุตโดยไม่มีการเปลี่ยนแปลง หากต้องการใส่อักขระวงเล็บปีกกาในข้อความตามตัวอักษร ให้ใส่วงเล็บปีกกาซ้อนกัน 2 คู่: {{ และ }}ฟิลด์การแทนที่อาจเป็นชื่อ ตัวเลข หรือว่างเปล่า ระบบจะแปลงค่าเป็นสตริงโดยใช้ฟังก์ชัน str
# Access in order:
"{} < {}".format(4, 5) == "4 < 5"
# Access by position:
"{1}, {0}".format(2, 1) == "1, 2"
# Access by name:
"x{key}x".format(key = 2) == "x2x"

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
args ค่าเริ่มต้นคือ ()
รายการอาร์กิวเมนต์
kwargs ค่าเริ่มต้นคือ {}
พจนานุกรมของอาร์กิวเมนต์

ดัชนี

int string.index(sub, start=0, end=None)

แสดงผลดัชนีแรกที่พบ sub หรือแสดงข้อผิดพลาดหากไม่มีดัชนีดังกล่าว โดยอาจจำกัดให้ [start:end]start รวมและ end ไม่รวม

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
sub string; required
สตริงย่อยที่จะค้นหา
start int หรือ None; ค่าเริ่มต้นคือ 0
จำกัดการค้นหาจากตำแหน่งนี้
end int หรือ None ค่าเริ่มต้นคือ None
ตำแหน่งที่ไม่บังคับก่อนที่จะจำกัดการค้นหา

isalnum

bool string.isalnum()

แสดงค่า True หากอักขระทั้งหมดในสตริงเป็นตัวอักษรและตัวเลข ([a-zA-Z0-9]) และมีอักขระอย่างน้อย 1 ตัว

isalpha

bool string.isalpha()

แสดงค่า True หากอักขระทั้งหมดในสตริงเป็นตัวอักษร ([a-zA-Z]) และมีอักขระอย่างน้อย 1 ตัว

isdigit

bool string.isdigit()

แสดงค่า True หากอักขระทั้งหมดในสตริงเป็นตัวเลข ([0-9]) และมีอักขระอย่างน้อย 1 ตัว

islower

bool string.islower()

แสดงค่า True หากอักขระที่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ทั้งหมดในสตริงเป็นตัวพิมพ์เล็กและมีอักขระอย่างน้อย 1 ตัว

isspace

bool string.isspace()

แสดงค่า True หากอักขระทั้งหมดเป็นอักขระที่เป็นการเว้นช่องว่างและสตริงมีอักขระอย่างน้อย 1 ตัว

istitle

bool string.istitle()

แสดงค่า True หากสตริงเป็นรูปแบบ Title Case และมีอักขระอย่างน้อย 1 ตัว ซึ่งหมายความว่าอักขระพิมพ์ใหญ่ทุกตัวต้องตามหลังอักขระที่ไม่ใช่ตัวพิมพ์ (เช่น ช่องว่าง) และอักขระพิมพ์เล็กทุกตัวต้องตามหลังอักขระที่เป็นตัวพิมพ์ (เช่น ตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็ก)

isupper

bool string.isupper()

แสดงค่า True หากอักขระที่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ทั้งหมดในสตริงเป็นตัวพิมพ์ใหญ่และมีอักขระอย่างน้อย 1 ตัว

ผนวก

string string.join(elements)

แสดงผลสตริงที่องค์ประกอบสตริงของอาร์กิวเมนต์เชื่อมต่อกันโดยใช้สตริงนี้เป็นตัวคั่น ตัวอย่าง:
"|".join(["a", "b", "c"]) == "a|b|c"

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
elements ต้องระบุ
ออบเจ็กต์ที่จะรวม

ต่ำกว่า

string string.lower()

แสดงผลสตริงนี้ในรูปแบบตัวพิมพ์เล็ก

lstrip

string string.lstrip(chars=None)

แสดงผลสำเนาของสตริงที่นำอักขระนำที่ปรากฏใน chars ออกแล้ว โปรดทราบว่า chars ไม่ใช่คำนำหน้า ระบบจะนำค่าทั้งหมดของค่านี้ออก
"abcba".lstrip("ba") == "cba"

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
chars สตริง หรือ None; ค่าเริ่มต้นคือ None
อักขระที่จะนำออก หรือการเว้นวรรคทั้งหมดหากไม่มี

พาร์ติชัน

tuple string.partition(sep)

แยกสตริงอินพุตที่ตัวคั่น sep ที่เกิดขึ้นครั้งแรก และแสดงผลพาร์ติชันที่ได้เป็นทูเพิลแบบ 3 องค์ประกอบในรูปแบบ (ก่อน, ตัวคั่น, หลัง) หากสตริงอินพุตไม่มีตัวคั่น ฟังก์ชัน partition จะแสดงผล (self, '', '')

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
sep string; required
สตริงที่จะแยก

removeprefix

string string.removeprefix(prefix)

หากสตริงขึ้นต้นด้วย prefix จะแสดงสตริงใหม่ที่นำคำนำหน้าออกแล้ว ไม่เช่นนั้น จะแสดงผลสตริง

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
prefix string; required
คำนำหน้าที่ต้องการนำออก หากมี

removesuffix

string string.removesuffix(suffix)

หากสตริงลงท้ายด้วย suffix จะแสดงผลสตริงใหม่ที่นำคำต่อท้ายออกแล้ว ไม่เช่นนั้น จะแสดงผลสตริง

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
suffix string; required
คำต่อท้ายที่จะนำออกหากมี

แทนที่

string string.replace(old, new, count=-1)

แสดงผลสำเนาของสตริงที่แทนที่อินสแตนซ์ของ old ด้วย new โดยอาจจำกัดจำนวนการแทนที่ไว้ที่ count

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
old string; required
สตริงที่จะแทนที่
new string; required
สตริงที่จะใช้แทน
count int; ค่าเริ่มต้นคือ -1
จำนวนการแทนที่สูงสุด หากละเว้นหรือค่าเป็นลบ จะไม่มีการจำกัด

rfind

int string.rfind(sub, start=0, end=None)

แสดงดัชนีสุดท้ายที่พบ sub หรือ -1 หากไม่มีดัชนีดังกล่าว โดยอาจจำกัดเป็น [start:end], start ซึ่งรวมอยู่ด้วย และ end ซึ่งไม่รวมอยู่ด้วย

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
sub string; required
สตริงย่อยที่จะค้นหา
start int หรือ None; ค่าเริ่มต้นคือ 0
จำกัดการค้นหาจากตำแหน่งนี้
end int หรือ None ค่าเริ่มต้นคือ None
ตำแหน่งที่ไม่บังคับก่อนที่จะจำกัดการค้นหา

rindex

int string.rindex(sub, start=0, end=None)

แสดงผลดัชนีสุดท้ายที่พบ sub หรือแสดงข้อผิดพลาดหากไม่มีดัชนีดังกล่าว โดยอาจจำกัดให้ [start:end] และ start รวมอยู่ด้วย และ end ไม่รวมอยู่ด้วย

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
sub string; required
สตริงย่อยที่จะค้นหา
start int หรือ None; ค่าเริ่มต้นคือ 0
จำกัดการค้นหาจากตำแหน่งนี้
end int หรือ None ค่าเริ่มต้นคือ None
ตำแหน่งที่ไม่บังคับก่อนที่จะจำกัดการค้นหา

rpartition

tuple string.rpartition(sep)

แยกสตริงอินพุตที่ตัวคั่น sep ที่เกิดขึ้นครั้งสุดท้าย และแสดงผลการแบ่งพาร์ติชันที่ได้เป็นทูเพิล 3 องค์ประกอบในรูปแบบ (ก่อนหน้า, ตัวคั่น, หลัง) หากสตริงอินพุตไม่มีตัวคั่น rpartition จะแสดงผล ('', '', self)

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
sep string; required
สตริงที่จะแยก

rsplit

list string.rsplit(sep, maxsplit=None)

แสดงผลรายการคำทั้งหมดในสตริงโดยใช้ sep เป็นตัวคั่น และเลือกจำกัดจำนวนการแยกเป็น maxsplit ได้ ยกเว้นการแยกจากด้านขวา วิธีนี้จะทำงานเหมือน split()

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
sep string; required
สตริงที่จะแยก
maxsplit int หรือ None ค่าเริ่มต้นคือ None
จำนวนการแยกสูงสุด

rstrip

string string.rstrip(chars=None)

แสดงผลสำเนาของสตริงที่นำอักขระต่อท้ายที่ปรากฏใน chars ออกแล้ว โปรดทราบว่า chars ไม่ใช่คำต่อท้าย ระบบจะนำค่าทั้งหมดที่รวมกันออก
"abcbaa".rstrip("ab") == "abc"

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
chars สตริง หรือ None; ค่าเริ่มต้นคือ None
อักขระที่จะนำออก หรือการเว้นวรรคทั้งหมดหากไม่มี

แยก

list string.split(sep, maxsplit=None)

แสดงผลรายการคำทั้งหมดในสตริงโดยใช้ sep เป็นตัวคั่น และเลือกจำกัดจำนวนการแยกเป็น maxsplit ได้

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
sep string; required
สตริงที่จะแยก
maxsplit int หรือ None ค่าเริ่มต้นคือ None
จำนวนการแยกสูงสุด

splitlines

sequence string.splitlines(keepends=False)

แยกสตริงที่ขอบเขตบรรทัด ("\n", "\r\n", "\r") และแสดงผลลัพธ์เป็นรายการใหม่ที่เปลี่ยนแปลงได้

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
keepends bool; ค่าเริ่มต้นคือ False
ระบุว่าจะรวมการขึ้นบรรทัดใหม่ไว้ในรายการผลลัพธ์หรือไม่

startswith

bool string.startswith(sub, start=0, end=None)

แสดงค่าเป็นจริงหากสตริงขึ้นต้นด้วย sub หรือแสดงค่าเป็นเท็จ หากไม่เป็นเช่นนั้น คุณอาจจำกัดให้เป็น [start:end], start โดยรวม และ end โดยไม่รวม

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
sub string หรือ tuple ของ string ต้องระบุ
คำนำหน้า (หรือ Tuple ของคำนำหน้าทางเลือก) ที่จะจับคู่
start int หรือ None; ค่าเริ่มต้นคือ 0
ทดสอบโดยเริ่มที่ตำแหน่งนี้
end int หรือ None; ค่าเริ่มต้นคือ None
หยุดเปรียบเทียบที่ตำแหน่งนี้

แถบ

string string.strip(chars=None)

แสดงผลสำเนาของสตริงที่นำอักขระนำหน้าหรืออักขระต่อท้ายที่ปรากฏใน chars ออก โปรดทราบว่า chars ไม่ใช่คำนำหน้าหรือคำต่อท้าย ระบบจะนำค่าทั้งหมดที่รวมกันออก
"aabcbcbaa".strip("ab") == "cbc"

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
chars สตริง หรือ None; ค่าเริ่มต้นคือ None
อักขระที่จะนำออก หรือการเว้นวรรคทั้งหมดหากไม่มี

title

string string.title()

แปลงสตริงอินพุตเป็นรูปแบบตัวพิมพ์ของหัวข้อ กล่าวคือ ทุกคำจะขึ้นต้นด้วยตัวพิมพ์ใหญ่ ส่วนตัวอักษรที่เหลือจะเป็นตัวพิมพ์เล็ก ในบริบทนี้ คำหมายถึงลำดับตัวอักษรเท่านั้น วิธีนี้ไม่รองรับอักขระ Unicode เสริม

ส่วนบน

string string.upper()

แสดงผลสตริงนี้ในรูปแบบตัวพิมพ์ใหญ่