ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

    Python (ไพทอน) มีรูปแบบข้อมูลชนิด String (สตริง) ที่ยอดเยี่ยม และมีฟังก์ชันต่างๆ ในการจัดการกับข้อมูลชนิดดังกล่าวอยู่มากมายเลยทีเดียว ไม่ว่าจะเป็นการแยกและตัดช่องว่าง การเปลี่ยนลักษณะตัวพิมพ์ การจัดแนว หรือการใช้ตัวอักษรพิเศษร่วมกับข้อมูลสตริง และนอกจากนั้นยังมีฟังก์ชันในการจัดรูปแบบสตริงอีกด้วย ซึ่งฟังก์ชันในการจัดการนั้นก็จะคล้ายๆกับฟังก์ชันใน ภาษาซี แต่เราก็สามารถเขียนได้หลายรูปแบบ เพราะภาษาไพทอนนั้นก็มีรูปแบบเฉพาะของตนเช่นกัน ซึ่งในบทความนี้เราจะมาพูดถึงฟังก์ชันต่างๆในการจัดรูปแบบข้อมูลชนิดสตริงในไพทอนกัน

     String (สตริง) คือ ชุดของตัวอักษร เป็นการนำตัวอักษรหลายๆ ตัวมาต่อกันหรือเรียกว่าอาเรย์ของตัวอักษร เช่น 'm','i','n','d','p','h','p' เก็บไว้ในข้อมูลอาเรย์ และรวมเป็นข้อมูลชนิดสตริง ซึ่งจะได้ข้อความ 'mindphp' 

การจัดรูปแบบในสตริง

     ฟังก์ชันในการจัดรูปแบบในสตริง หรือที่เรียกกันว่า String formatting คือ การดึงข้อมูลจากสตริงมาเรียกใช้งาน เราสามารถเรียกใช้งานได้โดยอาศัยตัวแทนชนิดของข้อมูล โดยมีตัวแทนชนิดของข้อมูลดัง ซึ่งในไพทอนนั้นจะมีวิธีเรียกใช้งานอยู่ทั้งหมด 3 แบบด้วยกัน ได้แก่

- '%s%s'%(a,b) เป็นวิธีดั้งเดิม ใช้รูปแบบเหมือน printf ของภาษาซี มีใช้ในหลายภาษา 

- '{}{}'.format(a,b) เป็นรูปแบบเฉพาะของภาษาไพทอน แต่ในการเขียนนั้นค่อนข้างที่จะเยิ่นเย้อ ไม่รัดกุม

- f'{a}{b}' วิธีนี้มีชื่อเรียกเฉพาะว่า f-string เป็นวิธีใหม่ที่เพิ่มเข้ามาในไพทอน 3.6 ไม่สามารถใช้ในไพทอนรุ่นเก่าได้

โดยมีตัวแทนชนิดข้อมูลดังนี้

%s

ข้อมูลชนิดสตริง

%d

ข้อมูลเลขจำนวนเต็ม

%f

ข้อมูลเลขทศนิยม

%.f

ตำแหน่งจุดทศนิยม

ตัวอย่างการใช้งาน 

x = 'โรงเรียน'
y = 100
print(f'ฉันไป{x} ได้เงินมา {y} บาท')
print('ฉันไป%s ได้เงินมา %d บาท'%(x,y))
print("ฉันไป{} ได้เงินมา {} บาท".format(x,y))

 

ผลลัพธ์

ผลลัพธ์การจัดรูปแบบในวิธีต่างๆ
ผลลัพธ์การจัดรูปแบบ

     จะเห็นได้ว่าในการใช้งานฟังก์ชัน จะแตกต่างกันออกไปแต่ผลลัพธ์ที่ได้ออกมานั้นจะเหมือนกัน ซึ่งในแต่ละฟังก์ชันจะมีความเร็วในการประมวลผลไม่เท่ากัน โดยวิธีที่มีความเร็วในการประมวลผลเร็วที่สุด คือ วิธีที่เรียกว่า f-string ที่เพิ่มเข้่ามาในไพทอนเวอร์ชั่น 3.6 ขึ้นไป และการใช้งานนั้นก็ง่ายมากๆ แค่แทรกตัวแปร {x} ลงไป และเมื่อเปรียบเทียบกันแล้ว วิธีแบบ f-string นั้นก็เขียนได้สั้นที่สุด 

 

ตัวอย่างการใช้ตำแหน่งจุดทศนิยม

x = 'โรงเรียน'
y = 100
print(f'ฉันไป{x} ได้เงินมา {y:.2f} บาท')
print('ฉันไป%s ได้เงินมา %.2f บาท'%(x,y))
print("ฉันไป{} ได้เงินมา {:.2f} บาท".format(x,y))

ผลลัพธ์

ผลลัพธ์การกำหนดตำแหน่งทศนิยมของแต่ละวิธ๊
ผลลัพธ์การกำหนดตำแหน่งทศนิยม

     ผลลัพธ์ที่ออกมานั้นคือการจัดรูปแบบให้แสดงทศนิยมเพียงสองตำแหน่ง ซึ่งในการใช้งานเพียงแค่กำหนด : เข้าไปใน {} และตามด้วยตัวแทนชนิดข้อมูลต่างๆ ก็สามารถใช้งานได้แล้ว นอกจากนี้เรายังสามารถใช้ฟังก์ชันในการคำนวณได้อีกด้วย เพียงแค่กำหนดสูตรเข้าไปใน {} แทนตัวแทนชนิดข้อมูล 

     เพียงเท่านี้เราก็สามารถจัดการกับรูปแบบของข้อมูลชนิดสตริงได้แล้ว ซึ่งเราสามารถเลือกวิธีตามที่เราถนัดได้เลย เพราะผลลัพธ์ที่ออกมานั้นก็ไม่มีความแตกต่างกันอยู่แล้ว แตกต่างกันที่วิธีทำเท่านั้น

 

 

ช่องทางการศึกษาเพิ่มเติมเกี่ยวกับ : Python 

การจัดการกับข้อมูลชนิด String (สตริง) ในไพทอน

การแยกและตัดช่องว่างข้อมูลชนิด String (สตริง) ในไพทอน

การเปลี่ยนลักษณะและการจัดแนวของข้อมูลชนิด String (สตริง) ในไพทอน

ตัวแปรที่ใช้ในฟังก์ชันการคำนวณตัวเลขเเละการแทนค่า ใน Python ไพทอน

ตัวดำเนินการ (Operator) สำหรับเปรียบเทียบความสัมพันธ์ใน Python ไพทอน

Chayapol
, การจัดรูปแบบของข้อมูลชนิด String (สตริง) ในไพทอน - by เทคนิคการเขียน Python,
0 1 0 5
กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
Q - สอบถามทำให้ mouse over ที่ไอคอนรูปวงกลม แล้วให้แสดงรูปที่เป็นข้อความขึ้น
โดย eange08 ศ 05 มี.ค. 2021 4:52 pm บอร์ด Joomla Dev
1
4
ศ 05 มี.ค. 2021 5:47 pm โดย tsukasaz
กลุ่มประเทศผู้ส่งออกข้าว
โดย jataz2 ศ 05 มี.ค. 2021 11:07 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
11
ศ 05 มี.ค. 2021 11:07 am โดย jataz2
Q - พอมี module หรือ plugin ที่เป็นพวก social อย่าง line, ig บ้างไหมค่ะ
โดย eange08 พฤ 04 มี.ค. 2021 5:21 pm บอร์ด Joomla Dev
1
7
พฤ 04 มี.ค. 2021 5:26 pm โดย tsukasaz
reboot เครื่องไม่ได้ครับ
โดย chakirin.bfds พฤ 04 มี.ค. 2021 12:25 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
2
34
พฤ 04 มี.ค. 2021 3:14 pm โดย chakirin.bfds
แก้ css ส่วน padding ด้วย override แล้วไม่เปลี่ยนตาม
โดย eange08 พ 03 มี.ค. 2021 4:43 pm บอร์ด Joomla Development
1
22
พ 03 มี.ค. 2021 4:47 pm โดย tsukasaz
Joomla PDPA ใช้ EB Sticky Cookie Notice โมดูล แสดงแจ้งเตือนการเก็บข้อมูล Cookie ของผู้ใช้งาน
โดย tsukasaz พ 03 มี.ค. 2021 4:39 pm บอร์ด Joomla Extension Review
0
21
พ 03 มี.ค. 2021 4:39 pm โดย tsukasaz
อัพเดทหรือยัง? ปรับปรุงเรื่องความปลอดภัย 9 จุด ใน Joomla 3.9.25
โดย tsukasaz พ 03 มี.ค. 2021 12:28 pm บอร์ด MindPHP News & Feedback
0
43
พ 03 มี.ค. 2021 12:28 pm โดย tsukasaz
B - เปิดหน้าเว็บด้วย template เป็น Shaper_megadeal_ii แล้ว Error 404
โดย eange08 พ 03 มี.ค. 2021 12:04 pm บอร์ด เว็บไซต์ Rnyard - Tester
2
7
พ 03 มี.ค. 2021 7:25 pm โดย tsukasaz