สตริง Python3
สตริงหลามมีใช้กันมากที่สุดชนิดข้อมูล เราสามารถใช้เครื่องหมายคำพูด ( 'หรือ ") เพื่อสร้างสตริง
สร้างสตริงง่ายมากตราบใดที่ตัวแปรที่มีการกำหนดค่า ตัวอย่างเช่น:
var1 = 'Hello World!' var2 = "w3big"
งูหลามค่าสตริงเข้าถึง
งูหลามไม่สนับสนุนชนิดตัวเดียวตัวเดียวนอกจากนี้ยังใช้เป็นสตริงหลาม
งูหลามเข้าถึง substring คุณสามารถใช้วงเล็บที่จะสกัดกั้นตัวอย่างสตริงต่อไปนี้:
#!/usr/bin/python3 var1 = 'Hello World!' var2 = "w3big" print ("var1[0]: ", var1[0]) print ("var2[1:5]: ", var2[1:5])
ผลที่ได้จากตัวอย่างข้างต้น:
var1[0]: H var2[1:5]: unoo
ปรับปรุงสตริงหลาม
คุณสามารถปรับเปลี่ยนเป็นสตริงที่มีอยู่และกำหนดให้กับตัวแปรอื่นตัวอย่างต่อไปนี้:
#!/usr/bin/python3 var1 = 'Hello World!' print ("已更新字符串 : ", var1[:6] + 'w3big!')
ตัวอย่างของผลของการดังกล่าวข้างต้น
已更新字符串 : Hello w3big!
ตัวหนีงูหลาม
เมื่อคุณจำเป็นต้องใช้อักขระพิเศษในตัวละคร, Python ด้วย backslash (\) ตัวหนี ในตารางต่อไปนี้:
ตัวหนี | ลักษณะ |
---|---|
\ (ในตอนท้ายของบรรทัด) | ulink |
\\ | ทับขวา |
\ ' | ราคาเดียว |
\ " | คำพูดคู่ |
\ a | ระฆัง |
\ B | Backspace (Backspace) |
\ E | หลบหนี |
\ 000 | ว่างเปล่า |
\ n | ห่อ |
\ V | แท็บแนวตั้ง |
\ t | แท็บแนวนอน |
\ r | เข้าสู่ |
\ F | หน้า |
\ Oyy | ตัวละครแปดตัวแทน yy เช่น: \ Ø12แทนการขึ้นบรรทัดใหม่ |
\ XYY | อักขระเลขฐานสิบหกตัวแทน yy เช่น: \ X0A แทนการขึ้นบรรทัดใหม่ |
\ อื่น ๆ | การส่งออกของตัวละครอื่น ๆ ในรูปแบบทั่วไป |
ผู้ประกอบการสตริงหลาม
ตัวแปรเช่นตารางต่อไปนี้เป็นสตริง "สวัสดีครับ" ค่าของตัวแปร B "งูใหญ่":
ผู้ประกอบการ | ลักษณะ | ตัวอย่าง |
---|---|---|
+ | concatenation สตริง | A + B เอาท์พุท: HelloPython |
* * * * | สตริงการส่งออกทำซ้ำ | A * 2 เอาท์พุท: HelloHello |
[] | ได้รับตัวละครในสตริงโดยดัชนี | a [1]E เอาท์พุท |
[:] | ส่วนการสกัดกั้นของสตริง | a [1: 4]ell เอาท์พุท |
ใน | ผู้ประกอบการสมาชิก - หากสตริงมีอักขระที่ได้รับผลตอบแทนที่ทรู | เอช 1 เอาท์พุท |
ไม่ได้อยู่ใน | ผู้ประกอบการสมาชิก - หากสายไม่ได้มีตัวละครที่ได้รับผลตอบแทนที่ทรู | เอ็มไม่ได้อยู่ในการส่งออก 1 |
R / R | สตริงเดิม - สตริงเดิม: สตริงทั้งหมดถูกนำมาใช้โดยตรงในสอดคล้องกับความหมายที่แท้จริงไม่มีตัวอักษรพิเศษหลบหนีหรือไม่พิมพ์ นอกจากนี้ยังมีสายเดิมก่อนที่จะมีคำพูดแรกที่มีตัวอักษร "R" (อาจจะเป็นกรณี) มากกว่ากับสตริงสามัญมีไวยากรณ์ที่เหมือนกันเกือบ | พิมพ์ R '\ n' พิมพ์ \ n และพิมพ์ R '\ n' พิมพ์ \n |
% | สตริงรูปแบบ | ดูส่วนถัดไป |
ตัวอย่าง
#!/usr/bin/python3 a = "Hello" b = "Python" print("a + b 输出结果:", a + b) print("a * 2 输出结果:", a * 2) print("a[1] 输出结果:", a[1]) print("a[1:4] 输出结果:", a[1:4]) if( "H" in a) : print("H 在变量 a 中") else : print("H 不在变量 a 中") if( "M" not in a) : print("M 不在变量 a 中") else : print("M 在变量 a 中") print (r'\n') print (R'\n')
เอาท์พุทตัวอย่างข้างต้นคือ
a + b 输出结果: HelloPython a * 2 输出结果: HelloHello a[1] 输出结果: e a[1:4] 输出结果: ell H 在变量 a 中 M 不在变量 a 中 \n \n
การจัดรูปแบบสตริงหลาม
งูหลามสนับสนุนการส่งออกจัดรูปแบบสตริง แม้ว่านี้จะรวมถึงการแสดงออกที่ซับซ้อนมากการใช้งานพื้นฐานที่สุดคือการใส่ค่าเป็นสตริงระบุ% ใน
ในหลาม, และ C สตริงรูปแบบโดยใช้ไวยากรณ์เช่นเดียวกับฟังก์ชั่นที่ sprintf
ตัวอย่างต่อไปนี้:
#!/usr/bin/python3 print ("我叫 %s 今年 %d 岁!" % ('小明', 10))
ตัวอย่างของการส่งออกดังกล่าวข้างต้น:
我叫 小明 今年 10 岁!
หลามสัญลักษณ์สตริงการจัดรูปแบบ:
สัญญลักษณ์ | ลักษณะ |
---|---|
c% | ตัวอักษรรูปแบบและรหัส ASCII ของพวกเขา |
% s | สตริงรูปแบบ |
% d | รูปแบบจำนวนเต็ม |
u% | รูปแบบ int ไม่ได้ลงนาม |
o% | การจัดรูปแบบฐานแปดไม่ได้ลงนาม |
x% | รูปแบบเลขฐานสิบหกไม่ได้ลงนาม |
X% | รูปแบบเลขฐานสิบหกได้รับการรับรอง (ตัวพิมพ์ใหญ่) |
f% | รูปแบบจำนวนจุดลอยตัวความถูกต้องสามารถระบุหลังจุดทศนิยม |
E% | สัญกรณ์วิทยาศาสตร์รูปแบบ floating point |
E% | การดำเนินการกับ E% โดยใช้สัญกรณ์วิทยาศาสตร์ลอยรูปแบบจุด |
% g | f% และ% E ชวเลข |
G% | f% E% และชวเลข |
p% | เลขฐานสิบหกอยู่จำนวนรูปแบบของตัวแปร |
การจัดรูปแบบการเรียนการสอนผู้ประกอบการให้ความช่วยเหลือ:
สัญญลักษณ์ | ฟังก์ชัน |
---|---|
* * * * | กำหนดความกว้างหรือความแม่นยำทศนิยม |
- | จัดตำแหน่งของ Do ซ้าย |
+ | ตัวเลขบวกที่แสดงบนหน้าเครื่องหมายบวก (+) |
<Sp> | พื้นที่แสดงก่อนตัวเลขบวก |
# | แสดงศูนย์ในด้านหน้าของจำนวนฐานแปด ( '0') หน้าจอแสดงผลของฐานสิบหก '0x' หรือ '0X' (ขึ้นอยู่กับการใช้งาน 'X' หรือ 'X') |
0 | ตัวเลขแสดงเติมด้านหน้า '0' แทนช่องว่างเริ่มต้น |
% | '%%' เอาท์พุทเดียว '%' |
(Var) | การทำแผนที่ตัวแปร (พารามิเตอร์ Dictionary) |
MN | m คือความกว้างโดยรวมต่ำสุดของจอแสดงผล, N คือจำนวนของตำแหน่งทศนิยม (ถ้ามี) |
งูหลามคำพูดที่สาม
หลามคำพูดที่สามช่วยให้สตริงในหลายเส้นสตริงสามารถมีการแบ่งบรรทัดแท็บและอักขระพิเศษอื่น ๆ ตัวอย่างดังต่อไปนี้
#!/usr/bin/python3 para_str = """这是一个多行字符串的实例 多行字符串可以使用制表符 TAB ( \t )。 也可以使用换行符 [ \n ]。 """ print (para_str)
ตัวอย่างข้างต้นดำเนินการตามผล:
这是一个多行字符串的实例 多行字符串可以使用制表符 TAB ( )。 也可以使用换行符 [ ]。
คำพูดที่ทริปเปิช่วยให้โปรแกรมเมอร์จากหล่มอยู่ในเครื่องหมายและสตริงพิเศษเริ่มต้นที่จะเสร็จสิ้นในการรักษารูปแบบของสตริงขนาดเล็กที่เรียกว่ารูปแบบ WYSIWYG (WYSIWYG)
กรณีการใช้งานทั่วไปคือเมื่อคุณต้อง HTML หรือ SQL แล้วใช้การรวมกันของสตริงหนีสตริงพิเศษจะเป็นที่น่าเบื่อมาก
errHTML = ''' <HTML><HEAD><TITLE> Friends CGI Demo</TITLE></HEAD> <BODY><H3>ERROR</H3> <B>%s</B><P> <FORM><INPUT TYPE=button VALUE=Back ONCLICK="window.history.back()"></FORM> </BODY></HTML> ''' cursor.execute(''' CREATE TABLE users ( login VARCHAR(8), uid INTEGER, prid INTEGER) ''')
สตริง Unicode
ใน Python2, ปกติ 8 บิตสตริงรหัส ASCII จะถูกเก็บไว้และสตริง Unicode จะถูกเก็บไว้เป็นสตริง Unicode 16 บิตนี้สามารถเป็นตัวแทนของชุดตัวอักษรมากขึ้น ไวยากรณ์ที่ใช้ในสตริงนำหน้าด้วยคำนำหน้าU
ใน Python3 สตริงทั้งหมดเป็นสตริง Unicode
สตริงหลามในตัวฟังก์ชั่น
สตริงหลามที่ใช้กันทั่วไปในตัวฟังก์ชั่นดังต่อไปนี้:
เลขที่ | วิธีการและรายละเอียด |
---|---|
1 | ประโยชน์ () |
2 | เซ็นเตอร์ (ความกว้าง fillchar) ผลตอบแทนที่มีความกว้างที่ระบุความกว้างศูนย์กลางสตริง fillchar ในการกรอกตัวอักษรเริ่มต้นคือช่องว่าง |
3 | count (STR ขอ = 0 ท้าย = len (สตริง)) ส่งกลับจำนวนครั้ง STR สตริงปรากฏภายใน STR เกิดขึ้นหาก Beg หรือจบที่ระบุถูกส่งกลับภายในช่วงที่ระบุ |
4 | ถอดรหัส (การเข้ารหัส = 'UTF-8 ' ข้อผิดพลาด = 'เข้มงวด') เพื่อถอดรหัสเข้ารหัสโดยใช้สตริงที่ระบุ การเข้ารหัสเริ่มต้นคือการเข้ารหัสสตริง |
5 | การเข้ารหัส (encoding = 'UTF-8 ' ข้อผิดพลาด = 'เข้มงวด') ในการเข้ารหัสสตริงรูปแบบการเข้ารหัสที่ระบุข้อผิดพลาดเริ่มต้นถ้าข้อยกเว้น ValueError เว้นแต่ข้อผิดพลาดที่ระบุไว้คือ 'ไม่สนใจ' หรือ 'แทนที่' |
6 | endswith (คำต่อท้ายขอ = 0 ท้าย = len (สตริง)) |
7 | สตริงในสัญลักษณ์แท็บเข้ามาในพื้นที่สัญลักษณ์แท็บหมายเลขเริ่มต้นของช่องว่างคือ 8 |
8 | พบ (STR ขอ = 0 ท้าย = len (สตริง)) การตรวจสอบจะรวมอยู่ใน STR สตริงถ้าคุณขอและสิ้นสุดช่วงที่ระบุก็มีการตรวจสอบว่ามีอยู่ในช่วงที่ระบุถ้ามันเป็นจุดเริ่มต้นของค่าดัชนีจะถูกส่งกลับ -1 มิฉะนั้น |
9 | ดัชนี (STR ขอ = 0 ท้าย = len (สตริง)) ด้วยการหา () วิธีการเดียวกัน แต่ถ้า STR สตริงไม่ได้ยกเว้นจะมีการรายงาน |
10 | หากมีตัวอักษรอย่างน้อยหนึ่งและตัวอักษรทั้งหมดที่มีตัวอักษรหรือตัวเลขผลตอบแทนจริงเท็จอย่างอื่น |
11 | หากมีตัวอักษรอย่างน้อยหนึ่งและตัวอักษรทั้งหมดที่มีตัวอักษรก็จะส่งกลับจริงเท็จอย่างอื่น |
12 | ถ้า string มีผลตอบแทนเป็นตัวเลขจริงเท่านั้นมิฉะนั้นกลับเท็จ .. |
13 | ถ้า string มีอย่างน้อยหนึ่งตัวอักษรและตัวเลขและทั้งหมดของเหล่านี้ (เป็นกรณี ๆ ไป) ตัวอักษรตัวพิมพ์เล็กกลับจริงเท็จอย่างอื่น |
14 | ถ้าสตริงมีอักขระที่เป็นตัวเลขเท่านั้นก็จะส่งกลับจริงเท็จอย่างอื่น |
15 | ถ้า string มีช่องว่างเพียงผลตอบแทนจริงเท็จอย่างอื่น |
16 | หากสตริงเป็นชื่อ (ดูชื่อ ()) ส่งกลับจริงเท็จอย่างอื่น |
17 | ถ้า string มีอย่างน้อยหนึ่งตัวอักษรและตัวเลขและทั้งหมดของเหล่านี้ (เป็นกรณี ๆ ไป) ตัวอักษรตัวพิมพ์ใหญ่ก็จะส่งกลับจริงเท็จอย่างอื่น |
18 | ในสตริงที่ระบุเป็นตัวคั่นจะ seq องค์ประกอบทั้งหมด (แสดงสตริง) เป็นสตริงใหม่ |
19 | ส่งกลับความยาวสตริง |
20 | ส่งกลับสตริงของอดีตซ้ายธรรมและใช้ fillchar เต็มไปสตริงใหม่ของความกว้างความยาวพื้นที่ fillchar เริ่มต้น |
21 | แปลงสตริงตัวอักษรตัวพิมพ์ใหญ่ทั้งหมดเป็นตัวพิมพ์เล็ก |
22 | ตัดทอนพื้นที่สตริงซ้าย |
23 | Character Map เพื่อสร้างตารางการแปลงสำหรับสองอาร์กิวเมนต์ภาวนาง่ายอาร์กิวเมนต์แรกเป็นสตริงที่แสดงถึงตัวละครที่จะแปลงเป็นพารามิเตอร์ที่สองคือการแสดงสตริงของการแปลงเป้าหมาย |
24 | กลับสตริง STR ตัวอักษรที่ใหญ่ที่สุด |
25 | ผลตอบแทนที่ได้ตัวอักษรที่เล็กที่สุดสตริง STR |
26 | แทนที่สตริง str1 เข้า str2 ถ้าแม็กซ์ระบุแทนที่ไม่เกินครั้งสูงสุด |
27 | rfind (STR ขอ = 0 ท้าย = len (สตริง)) คล้ายกับการค้นพบ () ฟังก์ชัน แต่เริ่มมองจากทางด้านขวา |
28 | rindex (STR ขอ = 0 ท้าย = len (สตริง)) คล้ายกับดัชนี () แต่เริ่มต้นจากด้านขวา |
29 | ส่งกลับสตริงของอดีตจัดชิดขวาและใช้ fillchar (ว่างเริ่มต้น) จะเต็มไปด้วยความยาวของความกว้างของสตริงใหม่ |
30 | ลบสตริงของช่องว่างในตอนท้ายของสตริง |
วันที่ 31 | Split (STR = "" NUM = string.count (STR)) NUM = string.count (STR)) เพื่อ STR-คั่นสตริงการสกัดกั้นถ้าค่า NUM ระบุไว้แล้วเท่านั้นสตริงสกัดกั้น NUM |
32 | splitlines (NUM = string.count ( '\ n')) แยกจากกันโดยแถวแต่ละแถวจะถูกส่งกลับเป็นส่วนหนึ่งของรายการที่มีเฉพาะส่วนที่ระบุถ้าแถว NUM NUM |
33 | startswith (STR ขอ = 0 ท้าย = len (สตริง)) ตรวจสอบว่าสตริงเริ่มต้นด้วย obj ก็จะส่งกลับจริงเท็จอย่างอื่น หาก Beg และสิ้นสุดค่าที่ระบุให้ตรวจสอบภายในช่วงที่ระบุ |
34 | lstrip บริหารสตริง () และ rstrip () |
35 | สตริงตัวพิมพ์ใหญ่ตัวพิมพ์เล็กและตัวพิมพ์เล็กตัวพิมพ์ใหญ่ |
36 | ย้อนกลับ "ชื่อ" ของสตริงที่มีทุกคำที่ขึ้นต้นด้วยเงินทุนและตัวอักษรที่เหลือเป็นตัวพิมพ์เล็ก (ดู istitle ()) |
37 | ตาราง STR ที่กำหนด (256 ตัวอักษร) เพื่อแปลงสายอักขระเพื่อกรองอาร์กิวเมนต์ตัวละครใส่ deletechars |
38 | แปลงสตริงตัวพิมพ์เล็กตัวพิมพ์ใหญ่ |
39 | กลับสตริงของความกว้างความยาวของสายเดิมธรรมขวา, เบาะด้วยศูนย์ในด้านหน้า |
40 | ตรวจสอบว่าสายมีเพียงตัวละครทศนิยมถ้ามันกลับจริงมิฉะนั้นกลับเท็จ |