เรียนเขียนโปรแกรมง่ายๆกับ Expert Programming Tutor วันนี้เราจะมาเข้าสู่บทString สตริงตัวอักษรหรือสายอักขระในภาษาไพธอน เป็นชนิดของตัวแปร สามารถกำหนดด้วยเครื่องหมาย single quotation ( ‘ ‘ ) หรือ double quotation ( ” ” ) ก็ได้ จะได้ผลลัพธ์ที่เหมือนกัน เช่น ‘Hello’ หรือ “Hello ” นักเรียนสามารถแสดงสตริงตัวอักษรด้วยฟังก์ชัน print ()
ตัวอย่าง
สามารถแสดงค่าของสตริงออกมาโดยการใชัฟังก์ชัน print()
print("Hello") |
ผลลัพธ์
Hello |
กำหนดสตริงให้กับตัวแปร
การกำหนดสตริงให้กับตัวแปรนั้นทำด้วยการชื่อตัวแปรตามด้วยเครื่องหมาย = และ ข้อมูลประเภทstring
ตัวอย่าง
a = "Hello" |
ผลลัพธ์
Hello |
การกำหนดค่าข้อมูลประเภท String แบบหลายบรรทัดให้กับตัวแปร
นักเรียนสามารถกำหนดสตริงหลายบรรทัดให้กับตัวแปรโดยใช้เครื่องหมายคำพูดสามตัว (“””)
ตัวอย่าง
a = """Lorem ipsum dolor sit amet, |
ผลลัพธ์
Lorem ipsum dolor sit amet, |
หรือจะใช้เป็นเครื่องหมายซิงเกิ้ลโควทครอบแทนก็ได้ เช่น ”’ข้อความที่ต้องการกำหนด”’
ตัวอย่าง
a = '''Lorem ipsum dolor sit amet, |
ผลลัพธ์
Lorem ipsum dolor sit amet, |
String are Arrays
เช่นเดียวกับภาษาการเขียนโปรแกรมยอดนิยมอื่น ๆ สตริงใน Python เป็นอาร์เรย์ของไบต์ที่แสดงถึงอักขระ Unicode อย่างไรก็ตาม Python ไม่มีประเภทข้อมูลตัวอักษรอักขระเดียวเป็นเพียงสตริงที่มีความยาว 1 วงเล็บเหลี่ยมสามารถใช้เพื่อเข้าถึงองค์ประกอบของสตริง เช่น
ตัวอย่าง
บรรทัดที่ 1 เราสร้างตัวแปร a ขึ้นมา แล้วกำหนดค่าให้เป็นสตริง “Hello, World!” ตัวแปร a จะกลายเป็นข้อมูลชนิดอาเรย์โดยอัตโนมัติ
บรรทัดที่ 2 ใช้คำสั่ง print() เพื่อให้แสดงค่าในตัวแปร a โดยอ้างอิงอินเด็กซ์ลำดับที่ 1 จะได้ข้อมูลตัวสุดท้ายในอาเรย์ a นั่นก็คือตัวอักษร e
a = "Hello, World!" |
ผลลัพธ์
e |
Slicing เข้าถึงข้อมูลในสตริงแบบกำหนดช่วงข้อมูล
นักเรียนสามารถส่งกลับช่วงข้อมูลของอักขระโดยใช้ไวยากรณ์ slice ระบุดัชนีเริ่มต้นและดัชนีสิ้นสุดคั่นด้วยเครื่องหมายโคลอน(:)เพื่อส่งคืนส่วนของสตริง
ตัวอย่าง
บรรทัดที่ 1 สร้างตัวแปร b ขึ้นมา แล้วกำหนดค่าให้เป็นสตริง “Hello World!”
บรรทัดที่ 2 สั่งให้แสดงค่าในตัวแปร b โดยกำหนดช่วงข้อมูลลำดับที่ 2 ถึงลำดับที่ 5 โดยข้อมูลที่เราจะได้ ตัวแรกคือตัวอักษรลำดับที่ 3 นั่นคือตัวอักษร l (ไม่ใช่ e เพราะอินเด็กซ์เริ่มจาก 0) ตัวสุดท้ายคือตัวอักษรลำดับที่ 2-5 นั่นคือลำดับที่ 4 ได้แก่ตัวอักษร l ดังนั้น ข้อมูลที่เราจะได้จากคำสั่งนี้ก็คือ llo
b = "Hello, World!" |
ผลลัพธ์
llo |
Negative Indexing เข้าถึงข้อมูลโดยอินเด็กซ์ที่ติดลบ
นักเรียนสามารถเข้าถึงข้อมูลในสตริงอาเรย์โดยใช้ slice syntax ใช้ดัชนีเชิงลบเพื่อเริ่มจากจุดสิ้นสุดของสตริง
ตัวอย่าง
บรรทัดที่ 1 สร้างตัวแปร b ขึ้นมา แล้วกำหนดค่าให้เป็นสตริง “Hello World!”
บรรทัดที่ 2 เข้าถึงข้อมูลในสตริงแบบ slice syntax โดยระบุค่าอินเด็กซ์ติดลบ ในตัวอย่างระบุค่าเริ่มต้นเป็น -5 (หมายถึง ตัวอักขระตัวที่ 5 นับมาจากตัวสุดท้าย นั่นคือตัว o) และระบุค่าสิ้นสุดเป็น -2 (หมายถึง ตัวอักขระตัวที่ 1 นับจากตัวสุดท้าย (เริ่มที่ 0) นั่นคือตัว l)
b = "Hello, World!" |
ผลลัพธ์
orl |
String Length ความยาวของสตริง
การรับความยาวของสตริงให้ใช้ฟังก์ชัน len ()
ตัวอย่าง
a = "Hello, World!" print(len(a)) |
ผลลัพธ์
13 |
String Methods เมธอดของสตริง
ในภาษาไพธอน มี built-in methods ของข้อมูลประเภทสตริง เช่น
ตัวอย่าง
เมธอด strip() สำหรับตัดช่องว่าง whitespace ด้านหน้าและด้านหลังสตริง
a = " Hello, World! " |
ผลลัพธ์
Hello, World! |
lower() จะคืนค่าสตริงเป็นตัวพิมพ์เล็ก
ตัวอย่าง
a = "Hello, World!" |
ผลลัพธ์
hello, world! |
upper() สำหรับแปลงอักขระภาษาอังกฤษให้เป็นตัวพิมพ์ใหญ่
ตัวอย่าง
a = "Hello, World!" |
ผลลัพธ์
HELLO, WORLD! |
replace () จะแทนที่สตริงด้วยสตริงอื่น
ตัวอย่าง
a = "Hello, World!" |
ผลลัพธ์
Jello, World! |
split () จะแยกสตริงออกเป็นสตริงย่อยหากพบอินสแตนซ์ของตัวคั่น
ตัวอย่าง
a = "Hello, World!" |
ผลลัพธ์
['Hello', ' World!'] |
การตรวจสอบสตริงด้วยคีย์เวิร์ด in และ not in
ในการตรวจสอบว่ามีคำหรืออักขระบางตัวอยู่ในสตริงหรือเปล่า เราสามารถใช้ in หรือ not in โดยจะให้ผลลัพธ์ออกมาเป็น True หรือ False ดังตัวอย่าง
ตัวอย่าง
บรรทัดที่ 1 สร้างตัวแปร txt และกำหนดค่าเป็นสตริง
บรรทัดที่ 2 ใช้คีย์เวิร์ด in ตรวจสอบว่ามีคำว่า “rain” อยู่ในตัวแปร txt หรือไม่
บรรทัดที่ 3 แสดงผลออกมาทางหน้าจอ ผลลัพธ์จะเป็น True เพราะมีคำว่า “rain” อยู่ในตัวแปร x จริง
txt = "The rain in Spain stays mainly in the plain" |
ผลลัพธ์
True |
ตัวอย่าง
บรรทัดที่ 1 สร้างตัวแปร txt และกำหนดค่าเป็นสตริง
บรรทัดที่ 2 ใช้คีย์เวิร์ด not in ตรวจสอบว่า ไม่มีคำว่า “rain” อยู่ในตัวแปร x ใช่หรือไม่
บรรทัดที่ 3 แสดงผลออกมา โดยผลลัพธ์จะเป็น False เพราะไม่มีคำว่า “rain” อยู่ในตัวแปร x จริงๆ
txt = "The rain in Spain stays mainly in the plain" |
ผลลัพธ์
False |
String Concatenation
ในการต่อหรือรวมสองสตริงเข้าด้วยกัน นักเรียนสามารถใช้ +
ตัวอย่าง
บรรทัดที่ 1 สร้างตัวแปร a เพื่อเก็บข้อความ
บรรทัดที่ 2 สร้างตัวแปร b เพื่อเก็บข้อความ พร้อมทั้ง
บรรทัดที่ 3 สร้างตัวแปร c เพื่อแทรกเครื่องหมาย “”สำหรับรับค่าจากตัวแปร a กับ b มาใช้งาน
บรรทัดที่ 4 เรียกใช้print เพื่อแทรกค่าจากตัวแปร
a = "Hello" |
ผลลัพธ์
HelloWorld |
ตัวอย่าง
หากต้องการเพิ่มช่องว่างระหว่างกันให้เพิ่ม ""
a = "Hello" |
ผลลัพธ์
Hello World |
String Format แทรกค่าจากตัวแปรอื่น ๆ เข้าไปในสตริง
เมื่อเราเรียนรู้ในบท Python Variables เราไม่สามารถรวมสตริงและตัวเลขเช่นนี้ได้
age = 36 |
แต่เราสามารถรวมสตริงและตัวเลขโดยใช้ format() ใช้เพื่อผ่านข้อขัดแย้งและแทรกเครื่องหมาย {} เพื่อรับค่าจากตัวแปร
ตัวอย่าง
บรรทัดที่ 1 สร้างตัวแปร age เพื่อเก็บอายุ
บรรทัดที่ 2 สร้างตัวแปร str เพื่อเก็บข้อความ พร้อมทั้งแทรกเครื่องหมาย {} สำหรับรับค่าจากตัวแปร age มาใช้งาน
บรรทัดที่ 3 เรียกใชัเมธอด format() เพื่อแทรกค่าจากตัวแปร age เข้าไปในสตริงต้นทาง
age = 36 |
ผลลัพธ์
My name is John, and I am 36 |
เมธอด format() สามารถรับอากิวเมนต์ได้ไม่จำกัด คือเราสามารถแทรกค่าเข้าไปในสตริงด้วยเมธอด format()โดยไม่จำกัดจำนวน
ที่สำคัญเราแทรกเครื่องหมาย {} เข้าไปในสตริงต้นทางกี่จุด เราต้องกำหนดอากิวเมนต์ให้เมธอด format() เป็นจำนวนเท่ากัน
ตัวอย่าง
จากตัวอย่าง เรากำหนดตัวเลขอินเด็กซ์ไว้ในเครื่องหมาย {} เพื่อระบุว่าให้นำอากิวเมนต์ตามเลขลำดับนี้มาแทรกในสตริง โดยตัวเลขอินเด็กซ์จะอ้างอิงตามอากิวเมนต์ที่เราระบุไว้ในเมธอด format เช่น myorder.format (quantity, itemno,my order) ในที่นี้ quanlity คืออากิวเมนต์ลำดับที่ 0 และ itemno คืออากิวเมนต์ลำดับที่ 1 ตามลำดับ
quantity = 3 |
ผลลัพธ์
I want 3 pieces of item 567 for 49.95 dollars. |
Escape Character การแทรกอักขระพิเศษในสตริง
ในการแทรกอักขระที่ผิดกฎของสตริงให้ใช้อักขระเลี่ยงอักขระ escape เป็นแบ็กสแลช \ ตามด้วยอักขระที่นักเรียนต้องการแทรก
ตัวอย่าง
จะเกิดError หากนักเรียนใช้เครื่องหมายคำพูดคู่("")ภายในสตริงที่ครอบด้วยเครื่องหมายคำพูดคู่("")
txt = "We are the so-called "Vikings" from the north." |
ในการแก้ไขปัญหานี้ให้ใช้ \ "
ตัวอย่าง
txt = "We are the so-called \"Vikings\" from the north." |
ผลลัพธ์
We are the so-called "Vikings" from the north. |
อักขระพิเศษอื่น ๆ ที่สามารถใช้ได้ในภาษาไพธอน
โค้ด |
ผลลัพธ์ |
\’ |
เครื่องหมาย ‘ |
/” |
เครื่องหมาย “ |
\\ |
เครื่องหมาย \ |
/n |
ขึ้นบรรทัดใหม่ New Line |
/r |
ขึ้นบรรทัดใหม่ Carriage Return |
/t |
แท็บ |
/b |
Backspace |
/f |
Form Feed |
/ooh |
เลขฐานแปด |
/xhh |
เลขฐานสิบหก |
สรุปจากบทนี้ก็คือจะพูดถึง String หรือสายอักขระ ซึ่งเป็นชนิดของตัวแปร สามารถกำหนดด้วยเครื่องหมาย single quotation ( ‘ ‘ ) หรือ double quotation ( ” ” ) ก็ได้ เเละยังพูดถึง การเข้าถึงอาเรย์ เมธอดของสตริง การแทรกอักขระพิเศษในสตริง
แปลจาก https://www.w3schools.com/python/python_strings.asp
Tag ที่น่าสนใจ: python string programming variable data_type array indexing slicing single_quotation double_quotation multi-line_string character_array unicode programming_tutor print_function
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM