ข้อมูลประเภท ข้อความหรือตัวอักษร (Strings) ในภาษา Python
เป็นข้อมูลประเภท sequence ที่ใช้สำหรับเก็บข้อความหรือตัวอักษรต่อกันเป็นลำดับ โดยสามารถใช้ quote (เครื่องหมาย ‘ หรือ “) ล้อมรอบข้อความเพื่อระบุว่าเป็นข้อมูลประเภท string ได้
ตัวอย่างของการกำหนดตัวแปรเป็น string:
message = 'Hello, world!'
หรือ
message = "Hello, world!"
ใน Python, string เป็น immutable คือไม่สามารถเปลี่ยนแปลงค่าได้หลังจากสร้างขึ้นมาแล้ว แต่สามารถนำ string มาเชื่อมต่อกัน หรือนำมาตัดเป็นส่วนย่อย ๆ ได้ด้วย operator + และ [] ตามลำดับ ดังตัวอย่างต่อไปนี้
str1 = 'Hello'
str2 = 'World'
str3 = str1 + ' ' + str2 # สามารถเชื่อมต่อ string ได้โดยใช้ operator +
print(str3) # แสดงผล Hello World
print(str1[1]) # แสดงผล e เนื่องจากตัวอักษรใน string จะถูกเรียกด้วย index หรือตำแหน่งของตัวอักษรนั้น ๆ
print(str2[1:4]) # แสดงผล orl เนื่องจากสามารถใช้ [] operator เพื่อดึงส่วนย่อย ๆ ของ string ได้
ใน Python มี method หรือฟังก์ชันที่ใช้งานกับข้อมูลประเภท string ได้มากมาย เช่น len() เพื่อหาความยาวของ string หรือ method อื่น ๆ เช่น upper() เพื่อแปลงตัวอักษรเป็นตัวพิมพ์ใหญ่ทั้งหมด หรือ lower() เพื่อแปลงเป็นตัวพิมพ์เล็กทั้งหมด
สามารถใช้เครื่องหมาย slice [:]
เพื่อดึงส่วนของ string ที่ต้องการออกมา เช่น
text = "Python programming"
print(text[0:6]) # แสดงผลลัพธ์: Python
สามารถใช้ฟังก์ชัน len()
เพื่อหาความยาวของ string ได้ เช่น
text = "Python programming"
print(len(text)) # แสดงผลลัพธ์: 18
การเข้าถึงตัวอักษรแต่ละตัวใน string สามารถทำได้โดยใช้เครื่องหมาย index []
โดยจะระบุตำแหน่งของตัวอักษรที่ต้องการดึงออกมา โดยเริ่มต้นที่ 0 ตัวแรก เช่น
text = "Python programming"
print(text[0]) # แสดงผลลัพธ์: P
print(text[1]) # แสดงผลลัพธ์: y
สามารถใช้ฟังก์ชัน
str()
เพื่อแปลงข้อมูลในรูปแบบต่างๆ เช่น integer, float, boolean และอื่นๆ เป็น string ได้ แปลงข้อมูลในรูปแบบต่าง ๆ ให้กลายเป็นข้อมูลชนิด string (ข้อความ) เพื่อนำไปใช้ในการแสดงผลหรือประมวลผลต่อไปได้
ตัวอย่างการใช้ฟังก์ชัน str()
เพื่อแปลงข้อมูลในรูปแบบต่าง ๆ ให้กลายเป็นข้อมูลชนิด string ดังนี้
# integer to string
num1 = 123
str1 = str(num1)
print(str1) # แสดงผลเป็น "123"
print(type(str1)) # แสดงผลเป็น <class 'str'>
# float to string
num2 = 3.1415926
str2 = str(num2)
print(str2) # แสดงผลเป็น "3.1415926"
print(type(str2)) # แสดงผลเป็น <class 'str'>
# boolean to string
bool1 = True
str3 = str(bool1)
print(str3) # แสดงผลเป็น "True"
print(type(str3)) # แสดงผลเป็น <class 'str'>
จากตัวอย่างด้านบนจะเห็นว่าเราใช้ฟังก์ชัน str()
เพื่อแปลงตัวเลข และค่า boolean ให้กลายเป็นข้อมูลชนิด string ซึ่งเราสามารถนำไปใช้ในการแสดงผลหรือประมวลผลต่อไปได้ โดยผลลัพธ์ที่ได้จะเป็น string และมีคุณสมบัติเหมือนข้อความทั่วไปในภาษา Python ที่เราสามารถนำไปต่อยอดใช้ได้ตามต้องการ
ฟังก์ชัน str()
เป็นฟังก์ชันที่ใช้สำหรับแปลงข้อมูลในรูปแบบต่างๆให้กลายเป็นข้อความ (string) ในภาษา Python โดยรูปแบบของฟังก์ชัน str()
มีลักษณะดังนี้
str(object, encoding='utf-8', errors='strict')
โดยฟังก์ชัน str()
รับพารามิเตอร์ดังนี้
object
: ข้อมูลที่ต้องการแปลงเป็น stringencoding
: ตัวเลือกเพื่อกำหนดรูปแบบ encoding ของ string โดยค่าเริ่มต้นคือ'utf-8'
errors
: ตัวเลือกเพื่อกำหนดการจัดการ error ในการแปลงข้อมูล โดยค่าเริ่มต้นคือ'strict'
ตัวอย่างการใช้งาน str()
ในการแปลงตัวเลขเป็น string ดังนี้
x = 100
y = str(x)
print(y)
print(type(y))
ผลลัพธ์ที่ได้คือ
100
<class 'str'>
จากตัวอย่างเป็นการแปลงตัวเลข 100
เป็น string ด้วยฟังก์ชัน str()
ซึ่งในที่นี้ตัวเลข 100
ได้ถูกเก็บไว้ในตัวแปร x
และได้ถูกแปลงเป็น string ด้วย str(x)
และเก็บไว้ในตัวแปร y
และเมื่อพิมพ์ค่าของ y
จะแสดงผลลัพธ์เป็น string '100'
ซึ่งมี type เป็น 'str'