ดึงข้อมูล จัดรูปแบบ และทำความสะอาดข้อความเหมือนในโปรเจกต์จริง ด้วย slicing, f-strings และเมท็อดของสายอักขระ
เปิดบทเรียนนี้ใน Kodokonในโปรเจกต์จริง คุณจัดการกับสายอักขระอยู่ตลอดเวลา ไม่ว่าจะเป็นเลขที่คำสั่งซื้อ ที่อยู่อีเมล หรือบรรทัดในไฟล์ การตัดส่วน (slicing) ดึงสายอักขระย่อยออกมาด้วยไวยากรณ์ [start:stop:step] โดยดัชนี stop จะ ไม่ถูกรวม ดัชนีติดลบนับย้อนจากท้าย และการละขอบเขตไว้หมายถึง "ตั้งแต่ต้น" หรือ "จนถึงท้าย"
reference = "ORD-2026-00042"
print(reference[:3]) # ORD
print(reference[4:8]) # 2026
print(reference[-5:]) # 00042
print(reference[::-1]) # 24000-6202-DROF-strings คือวิธีสมัยใหม่ในการประกอบข้อความ เพียงเติม f นำหน้าสายอักขระ แล้วแทรกนิพจน์ไว้ในวงเล็บปีกกา ข้อกำหนดรูปแบบที่อยู่หลังทวิภาคจะควบคุมการแสดงผล :.2f ปัดเป็นทศนิยมสองตำแหน่ง :03d เติมศูนย์ด้านหน้า ในทางปฏิบัติ จงเลิกต่อข้อความด้วย + ได้เลย เพราะ f-string อ่านง่ายกว่าและช่วยเลี่ยงข้อผิดพลาดเรื่องชนิดข้อมูล
product = "wireless keyboard"
price = 49.9
stock = 3
print(f"{product} : {price:.2f} EUR")
print(f"Stock : {stock:03d} units")
total = price * stock
print(f"Total : {total:.2f} EUR")เมท็อดของสายอักขระครอบคลุมงานทำความสะอาดข้อมูลที่จำเป็นแทบทั้งหมด strip ตัดช่องว่างหัวท้ายออก split แยกออกเป็นลิสต์ join เชื่อมกลับเข้าด้วยกัน lower และ upper ปรับตัวพิมพ์ให้เป็นมาตรฐาน replace แทนที่ข้อความ ส่วน startswith และ endswith ตรวจสอบส่วนต้นและส่วนท้าย ประเด็นสำคัญคือ สายอักขระ เปลี่ยนแปลงไม่ได้ (immutable) เมท็อดแต่ละตัวจะคืนสายอักขระ ตัวใหม่ ออกมาโดยไม่แก้ไขตัวเดิม
raw = " Alice.Martin@Example.COM ; ADMIN "
email, role = raw.split(";")
email = email.strip().lower()
role = role.strip().lower()
print(email) # alice.martin@example.com
print(role) # admin
print(email.endswith("@example.com")) # True