ดีครับดอทคอม

เขียนโปรแกรมภาษา Python ตอนที่ 54 กำหนดขนาด Tab ในสตริง ด้วยเมธอด expandtabs()

กำหนดขนาด Tab ในสตริง ด้วยเมธอด expandtabs()

เขียนโปรแกรมภาษา Python ตอนที่ 54 กำหนดขนาด Tab ในสตริง ด้วยเมธอด expandtabs()

โดยปกติ เมื่อต้องการแทรกแท็บ (Tab) ในสตริง เราสามารถทำได้โดยการแทรกอักขระพิเศษ "\t" เข้าไปในสตริงได้เลย ดังนี้

mytext = "P\tY\tT\tH\tO\tN"

print(mytext)
# 'P	Y	T	H	O	N'

จากโค้ด ได้ทำการแทรก '\t' ไว้ระหว่างตัวอักษรทุกตัว ทำให้เมื่อแสดงผลลัพธ์ออกมา จะมีการแทรกแท็บ (Tab) ระหว่างตัวอักษรทุกตัว

เมธอด expandtabs() เป็นเมธอดของสตริง ใช้สำหรับกำหนดขนาดของแท็บ (Tab) ที่ถูกแทรกเข้าไปในสตริงโดยการใช้อักขระ "\t" อีกที มีรูปแบบการใช้งานดังนี้

 string.expandtabs(tabsize)    
  • tabsize คือ ตัวเลขสำหรับระบุขนาดแท็บ (จะระบุหรือไม่ก็ได้) ถ้าไม่ระบุ ค่าเริ่มต้นจะเป็น 8

ตัวอย่างการใช้งานเมธอด expandtabs()

mytext = "P\tY\tT\tH\tO\tN"

print(mytext)
# 'P	Y	T	H	O	N'

print(mytext.expandtabs())
# 'P       Y       T       H       O       N'
  • บรรทัดที่ 1 กำหนดสตริง โดยมีการแทรกอักขระ "\t" เพื่อแทรกแท็บระหว่างตัวอักษรทุกตัวในสตริง
  • บรรทัดที่ 3 สั่งแสดงผลสตริงออกมาโดยไม่ใช้เมธอด expandtabs()
  • บรรทัดที่ 6 สั่งแสดงผลสตริงออกมาโดยใช้เมธอด expandtabs() โดยไม่ได้ระบุ พารามมิเตอร์ tabsize (tabsize จะเป็น 8 โดยค่าตั้งต้น)

จะเห็นได้ว่า ผลลัพธ์ของทั้ง 2 คำสั่งจะต่างกัน

ตัวอย่างการใช้งานเมธอด expandtabs() แบบระบุพารามิเตอร์ tabsize

mytext = "P\tY\tT\tH\tO\tN"

print(mytext.expandtabs(2))
# 'P Y T H O N'

print(mytext.expandtabs(5))
# 'P    Y    T    H    O    N'

print(mytext.expandtabs(8))
# 'P       Y       T       H       O       N'
  • บรรทัดที่ 3 ใช้เมธอด expandtabs() โดยระบุพารามิเตอร์เป็น 2
  • บรรทัดที่ 6 ใช้เมธอด expandtabs() โดยระบุพารามิเตอร์เป็น 5
  • บรรทัดที่ 9 ใช้เมธอด expandtabs() โดยระบุพารามิเตอร์เป็น 8

ผลลัพธ์ที่ได้จะแตกต่างกันออกไป ตามค่าพารามิเตอร์ที่ระบุ

การใช้เมธอด expandtabs() โดยระบุพารามิเตอร์ จะมีผลให้มีการแทรกช่องว่าง (space) ตามจำนวนพารามิเตอร์ – 1 ตามด้วยตัวอักษรตัวถัดไป เช่น

  • ถ้าระบุพารามิเตอร์ (tabsize) เป็น 2 จะเป็นการแทรกช่องว่าง (space) 1 ครั้ง ตามด้วยตัวอักษรตัวถัดไป
  • ถ้าระบุพารามิเตอร์ (tabsize) เป็น 5 จะเป็นการแทรกช่องว่าง (space) 4 ครั้ง ตามด้วยตัวอักษรตัวถัดไป
  • ถ้าระบุพารามิเตอร์ (tabsize) เป็น 8 จะเป็นการแทรกช่องว่าง (space) 7 ครั้ง ตามด้วยตัวอักษรตัวถัดไป