ข้อมูลประเภท ข้อความหรือตัวอักษร (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 : ข้อมูลที่ต้องการแปลงเป็น string
  • encoding : ตัวเลือกเพื่อกำหนดรูปแบบ 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'