สตริง Python f ฝังนิพจน์ลงในสตริง นิพจน์อาจเป็นเนื้อหาของ ตัวแปร หรือผลลัพธ์ของการคำนวณทางคณิตศาสตร์ หรือค่า Python อื่น สตริง f แตกต่างจากสตริงปกติเนื่องจากตัวอักษร f มาก่อนสตริง
เมื่อคุณกำลังเขียนสตริง คุณอาจต้องการเปลี่ยนส่วนของสตริงเพื่อใช้ค่าเฉพาะ ตัวอย่างเช่น คุณอาจต้องการให้สตริงปรากฏขึ้นโดยมีค่าที่ผู้ใช้แทรกลงในคอนโซล
Python รองรับการจัดรูปแบบสตริงมาระยะหนึ่งแล้ว แต่ Python 3.6 ได้แนะนำวิธีการใหม่ในการเปลี่ยนสตริงเพื่อรวมค่าใหม่:f strings
บทช่วยสอนนี้จะกล่าวถึงพื้นฐานของสตริง f ใน Python โดยมีการอ้างอิงถึงตัวอย่าง เมื่ออ่านบทช่วยสอนนี้จบ คุณจะเป็นผู้เชี่ยวชาญในการใช้สตริง Python f
การจัดรูปแบบสตริงของ Python
ก่อนหน้า Python 3.6 คุณสามารถจัดรูปแบบสตริง Python ได้สองวิธี คุณสามารถใช้การจัดรูปแบบเปอร์เซ็นต์ (%) และ str.format() .
การจัดรูปแบบเปอร์เซ็นต์
การจัดรูปแบบเปอร์เซ็นต์มีมาตั้งแต่ต้น และช่วยให้คุณจัดรูปแบบสตริงด้วยค่าเดียวหรือหลายค่าได้
ต่อไปนี้คือตัวอย่างแนวทางการจัดรูปแบบเปอร์เซ็นต์ที่ใช้งานจริง:
email = "[email protected]" new_string = "Your email address is %s." % email print(new_string)
รหัสของเราส่งคืน:
81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้
ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก
Your email address is [email protected]
ในโค้ดของเรา เราใช้เครื่องหมาย %s เป็นตัวยึดตำแหน่งสำหรับสตริงใหม่ของเราใน "ที่อยู่อีเมลของคุณคือ %s" สตริง ที่ส่วนท้ายของรหัสบรรทัดนั้น เราใช้เครื่องหมายเปอร์เซ็นต์ตามด้วย "อีเมล" เพื่อแทนที่ %s ด้วยที่อยู่อีเมลของผู้ใช้ของเรา
str.format()
ใน Python 2.6 มีการแนะนำวิธีการใหม่ในการจัดรูปแบบสตริง:format() ฟังก์ชัน
สมมติว่าเราต้องการจัดรูปแบบสตริงที่มีค่าสองค่า เราสามารถทำได้โดยใช้ format() วิธีการดังนี้:
name = "Lindsay Ballantyne" email = "[email protected]" new_string = "Hello, {}. Your email address is {}.".format(name, email)
รหัสของเราส่งคืน:
Hello, Lindsay Ballantyne. Your email address is [email protected].
ในโค้ดของเรา เรากำหนดตัวแปร Python สองตัวคือ "name" และ "email" ตัวแปรเหล่านี้เก็บชื่อและที่อยู่อีเมลของบุคคลที่ใช้โปรแกรมของเรา จากนั้น เราใช้ .format() ไวยากรณ์เพื่อเพิ่มค่า "ชื่อ" และ "อีเมล" ให้กับสตริงของเรา
รูปแบบสตริงของ Python f
สตริง Python f ฝังนิพจน์ลงในสตริงตามตัวอักษร คุณสามารถใช้สตริง f เพื่อฝังตัวแปร สตริง หรือผลลัพธ์ของฟังก์ชันลงในสตริงได้ สตริง f นำหน้าด้วย "f" ที่จุดเริ่มต้น ก่อนที่สตริงจะเริ่มต้น
เปิดตัวใน Python 3.6 ทำให้จัดรูปแบบสตริงได้ง่ายขึ้น
f strings ใช้วงเล็บปีกกาเพื่อเก็บค่าที่ควรจัดรูปแบบเป็นสตริง สตริง f ยังใช้ตัวพิมพ์ใหญ่ "F" เพื่อแสดงสตริงที่จัดรูปแบบได้
พิจารณาไวยากรณ์นี้:
f"This is a string."
เราเพิ่งกำหนดตัวอักษรสตริงที่จัดรูปแบบแล้ว เราสามารถเพิ่มค่าให้กับสตริงโดยใช้วงเล็บปีกกา:{}.
บางคนอ้างถึงการจัดรูปแบบสตริงว่าเป็นการแก้ไขสตริง แนวคิดทั้งสองนี้อ้างถึงแนวคิดเดียวกัน นั่นคือ การเพิ่มค่าลงในสตริงอื่น
มาดูตัวอย่างการใช้งานสตริง f กัน
f String Python ตัวอย่าง
สมมติว่าเราต้องการเพิ่มชื่อ “Lindsay Ballantyne” ให้กับสตริง เราสามารถทำได้โดยใช้รหัสนี้:
name = "Lindsay Ballantyne" print(f"Your name is {name}.")
รหัสของเราส่งคืน:
Your name is Lindsay Ballantyne.
ในโค้ดของเรา เราประกาศตัวแปรที่เรียกว่า "name" ซึ่งเก็บชื่อผู้ใช้ของเราไว้ จากนั้น เราใช้สตริง f เพื่อเพิ่มค่า “Lindsay Ballantyne” ลงในสตริง
นี่แสดงว่าคุณสามารถแทรกค่าของตัวแปรลงในสตริง f ได้โดยตรง ไวยากรณ์ง่ายกว่าตัวเลือกการจัดรูปแบบอื่นๆ ทั้งหมด เช่น วิธี format() หรือ % string
นั่นไม่ใช่ทั้งหมด. สตริง f ยังสามารถสนับสนุนฟังก์ชันหรือนิพจน์อื่น ๆ ที่ประเมินภายในสตริง สมมติว่าเราต้องการใช้ฟังก์ชันทางคณิตศาสตร์ของ Python ในสตริง f เราสามารถทำได้โดยใช้รหัสนี้:
name = "Lindsay Ballantyne" print(f"Your name is {name}. On your next birthday, you will be {22 + 1}.")
รหัสของเราส่งคืน:
Your name is Lindsay Ballantyne. On your next birthday, you will be 23.
เราสามารถทำหน้าที่ทางคณิตศาสตร์ได้
เนื่องจากนิพจน์ในตัวอักษรสตริงได้รับการประเมินในขณะใช้งาน และเป็นส่วนหนึ่งของโปรแกรมหลัก ฟังก์ชันทางคณิตศาสตร์ของเราคือ "22 + 1" ซึ่งเราทำโดยการใส่ฟังก์ชันไว้ในวงเล็บปีกกา
หลายสายหลาม f สตริง
ไวยากรณ์สตริง f รองรับการจัดรูปแบบสตริงหลายบรรทัด คุณสามารถสร้างสตริง f แบบหลายบรรทัดของ Python ได้โดยการใส่สตริง f หลายอันไว้ในวงเล็บปีกกา
สมมติว่าเราต้องการจัดรูปแบบค่าในสตริงหลายบรรทัด เราสามารถทำได้โดยใช้รหัสนี้:
name = "Lindsay Ballantyne" email = "[email protected]" age = 22 profile = ( f"Name: {name} \n" f"Email: {email} \n" f"Age: {age} \n" ) print(profile)
รหัสของเราส่งคืน:
Name: Lindsay Ballantyne Email: [email protected] Age: 22
ในโค้ดของเรา เราได้ประกาศตัวแปรสามตัว ได้แก่ ชื่อ อีเมล และอายุ ซึ่งเก็บข้อมูลเกี่ยวกับผู้ใช้ของเรา จากนั้น เราก็สร้างสตริงแบบหลายบรรทัดซึ่งจัดรูปแบบโดยใช้ตัวแปรเหล่านั้น
สังเกตว่า ในโค้ดของเรา เราใส่ f ก่อนแต่ละบรรทัดในสตริง multiline ของเราอย่างไร เนื่องจากถ้าคุณไม่วาง f ไว้ข้างหน้าแต่ละบรรทัด ไวยากรณ์ของสตริง f จะไม่ถูกนำมาใช้
f อักขระพิเศษสตริง
ยังมีสิ่งหนึ่งที่คุณต้องเรียนรู้ก่อนที่จะเริ่มใช้สตริง f ในโค้ดของคุณ คุณจำเป็นต้องรู้วิธีจัดการกับอักขระพิเศษด้วยสตริง f
ต่อไปนี้เป็นกฎสองสามข้อที่คุณควรจำไว้เมื่อคุณใช้สตริง f
เครื่องหมายอัญประกาศ
เมื่อคุณใช้สตริง f คุณสามารถใช้เครื่องหมายอัญประกาศในนิพจน์ของคุณได้ แต่คุณต้องใช้เครื่องหมายคำพูดประเภทอื่นนอกเหนือจากที่คุณใช้นอกสตริง f ต่อไปนี้คือตัวอย่างเครื่องหมายคำพูดที่ใช้ในสตริง f:
print(f"{'It is Thursday!'}")
รหัสของเราส่งคืน:
It is Thursday
สังเกตว่าเราใช้เครื่องหมายคำพูดเดี่ยว (') ในสตริง f ของเรา (ซึ่งแสดงโดยใช้เครื่องหมายปีกกา) และเครื่องหมายคำพูดคู่ ("") เพื่อแสดงสตริงทั้งหมดของเรา
พจนานุกรม
ในการอ้างอิงค่าในพจนานุกรม Python คุณจะต้องใช้เครื่องหมายคำพูด คุณควรตรวจสอบให้แน่ใจว่าคุณใช้เครื่องหมายคำพูดประเภทอื่นเมื่อคุณอ้างอิงแต่ละค่าในพจนานุกรมของคุณ
ต่อไปนี้คือตัวอย่างการทำงานกับพจนานุกรมและสตริง f:
user = {name: "Lindsay Ballantyne", email: "[email protected]"} print(f{"Hello, {user['name']}. Your email address is: {user['email']}.")
รหัสของเราส่งคืน:
Hello, Lindsay Ballantyne. Your email address is: [email protected]
โปรดทราบว่าเมื่อเราอ้างถึงค่าในพจนานุกรมของเรา เราใช้เครื่องหมายคำพูดเดี่ยว (‘’) สตริง f หลักของเราใช้เครื่องหมายคำพูดคู่ (“”) ซึ่งจะช่วยป้องกันข้อผิดพลาดในการจัดรูปแบบสตริงไม่ให้เกิดขึ้นในโค้ดของเรา
วงเล็บปีกกา
ในการใช้วงเล็บปีกกาในสตริง f คุณต้องใช้เครื่องหมายปีกกาคู่ ต่อไปนี้คือตัวอย่างวงเล็บปีกกาในสตริง f:
print(f"{{This is a test}}")
รหัสของเราส่งคืน:
{This is a test}
คุณจะเห็นได้ว่าเครื่องมือจัดฟันชุดเดียวปรากฏในผลลัพธ์สุดท้ายของเรา เนื่องจากสตริง f จะใช้เครื่องหมายวงเล็บปีกกาชุดหนึ่งเพื่อแสดงว่าการจัดรูปแบบสตริงจะเกิดขึ้น ดังนั้น เหล็กจัดฟันชุดเดียวในเหล็กดัดของคุณจึงจะปรากฏขึ้น
ความคิดเห็น
เมื่อคุณเขียนสตริง f สตริง f ของคุณไม่ควรมีเครื่องหมายแฮชแท็ก (#) เครื่องหมายนี้แสดงถึงความคิดเห็นใน Python และจะทำให้เกิดข้อผิดพลาดทางไวยากรณ์
หากคุณต้องการใช้แฮชแท็กในสตริง ตรวจสอบให้แน่ใจว่าได้จัดรูปแบบเป็นสตริงแล้ว แทนที่จะเป็นสตริง f นี่คือตัวอย่างการใช้งานจริง:
user_id = "202" print(f"User ID: #{user_id}")
รหัสของเราส่งคืน:
User ID: #202
เราเพิ่มแฮชแท็กก่อนวงเล็บปีกกา f string เราทำสิ่งนี้เพื่อให้แน่ใจว่าแฮชแท็กของเราจะปรากฏอย่างถูกต้องในสตริงของเรา
ดู Repl.it จากบทช่วยสอนนี้:
บทสรุป
สตริง Python f เป็นเครื่องมือใหม่ที่คุณสามารถใช้ใส่นิพจน์ภายในตัวอักษรสตริงได้
ข้อดีของการใช้สตริง f เหนือตัวเลือกก่อนหน้านั้นมีมากมาย สตริง f ง่ายต่อการอ่าน ทำงานได้ดีแม้ในขณะที่คุณกำลังทำงานกับค่านิยมมากมาย
บทช่วยสอนนี้กล่าวถึงโดยอ้างอิงจากตัวอย่าง การเปรียบเทียบสตริง f กับตัวเลือกการจัดรูปแบบสตริงอื่นๆ และวิธีใช้สตริง f ในโค้ดของคุณ ตอนนี้คุณมีความรู้ที่จำเป็นในการเริ่มทำงานกับ Python f strings อย่างนักพัฒนามืออาชีพแล้ว!
หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ Python โปรดดูคู่มือ How to Learn Python