คุณต้องการเพิ่มค่าลงในสตริง Python หรือไม่? คุณไม่จำเป็นต้องมองไกลไปกว่าตัวดำเนินการ %s ตัวดำเนินการนี้ช่วยให้คุณจัดรูปแบบค่าภายในสตริงได้ ไวยากรณ์ %s นั้นสวยงามกว่าตัวดำเนินการต่อข้อมูลที่คุณคุ้นเคย
ในคู่มือนี้ เราจะพูดถึงความหมายของสัญลักษณ์ %s และวิธีการทำงาน เราดำเนินการผ่านตัวอย่างของโอเปอเรเตอร์นี้เพื่อช่วยให้คุณเรียนรู้วิธีการใช้ในโค้ดของคุณ
ตัวดำเนินการ %s คืออะไร
ตัวดำเนินการ %s เพิ่มสตริงภายในสตริงอื่น
ในที่นี้ เราเขียนโปรแกรมที่คำนวณความเร็วโดยเฉลี่ยของรถยนต์ที่วิ่งไปถึงจุดหมายปลายทาง ในการคำนวณข้อมูลนี้ ให้ใช้สูตรต่อไปนี้:
speed = distance / time
เริ่มต้นด้วยการถามผู้ใช้ถึงระยะทางที่เดินทาง เวลาที่ใช้ในการไปถึงที่หมาย และที่ที่พวกเขาไป:
distance = input("How far did you travel (in miles)? ") time = input("How long did it take you to reach your destination (in hours)? ") where = input("Where were you going? ")
ต่อไป เราคำนวณความเร็วเฉลี่ยที่ผู้ใช้เดินทาง:
speed = round(float(distance) / float(time), 2)
81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้
ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก
เราได้แปลงค่าของ "ระยะทาง" และ "เวลา" เป็นตัวเลขทศนิยม เพื่อให้เราสามารถดำเนินการทางคณิตศาสตร์โดยใช้ค่าเหล่านั้นได้ เรายังได้ปัดเศษผลลัพธ์ของการคำนวณความเร็วของเราให้เป็นทศนิยมสองตำแหน่ง
ตอนนี้เราได้คำนวณค่านี้แล้ว เราจะแจ้งให้ผู้ใช้ในคอนโซล Python ทราบถึงความเร็วเฉลี่ยของพวกเขา เมื่อต้องการทำสิ่งนี้ ให้ใช้การจัดรูปแบบสตริง:
print("On your journey to %s, you drove at an average speed of %s miles per hour." % (where, speed))
มีสามส่วนในไวยากรณ์ %s ของเรา:
- ตัวดำเนินการ %s คือตำแหน่งที่เพิ่มค่าสตริง
- % (ที่ไหน ความเร็ว) คือที่ที่เราระบุค่าที่ควรเพิ่มในสตริงของเรา
จำนวนค่าที่คุณต้องการเพิ่มในสตริงต้องเท่ากับค่าที่ระบุในวงเล็บหลังตัวดำเนินการ % ที่ส่วนท้ายของสตริง มิฉะนั้น คุณพบข้อผิดพลาด "TypeError:อาร์กิวเมนต์ไม่เพียงพอสำหรับสตริงรูปแบบ"
ในโค้ดของเรา เรากำลังเพิ่มค่าสองค่าลงในสตริงของเรา เราใช้ตัวดำเนินการ %s สองครั้ง และมีค่าสองค่าในวงเล็บหลังเครื่องหมาย % ที่ส่วนท้ายของสตริง
เรียกใช้โปรแกรมของเรา:
How far did you travel? 63 How long did it take you to reach your destination? 2 Where were you going? London On your journey to London, you drove at an average speed of 31.5 miles per hour.
รหัสของเราคำนวณความเร็วเฉลี่ยของเราได้สำเร็จ
ตัวดำเนินการ %s จะแปลงค่าเป็นสตริงโดยอัตโนมัติ ซึ่งหมายความว่าเราไม่ต้องเปลี่ยนประเภทข้อมูลที่เชื่อมโยงกับ "ความเร็ว" เมื่อเราจัดรูปแบบค่าของเรา
ไวยากรณ์การจัดรูปแบบสตริง %
ไวยากรณ์การจัดรูปแบบสตริง % มีอะไรมากกว่าแค่ตัวดำเนินการ %s คุณยังสามารถใช้ไวยากรณ์ % เพื่อจัดรูปแบบตัวเลขในสตริงได้
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการจัดรูปแบบตัวเลขโดยใช้รูปแบบ % ของรูปแบบ ให้อ่านเอกสารประกอบของ Python สำหรับการจัดรูปแบบสตริง เราได้เขียนบทแนะนำเกี่ยวกับวิธีการปัดเศษค่าให้เป็นทศนิยมสองตำแหน่งโดยใช้ตัวดำเนินการ %
วิธีการใหม่ในการจัดรูปแบบสตริง
ด้วยการแนะนำ format()
ไวยากรณ์ใน Python 2.6 ตัวถูกดำเนินการการจัดรูปแบบสตริง % ไม่เป็นที่โปรดปรานของนักพัฒนาหลายคน
เนื่องจากรูปแบบการจัดรูปแบบมีประสิทธิภาพมากกว่า ยิ่งไปกว่านั้น format()
ไวยากรณ์ไม่ยากมากที่จะใช้ พิจารณาข้อความต่อไปนี้:
print("On your journey to {}, you drove at an average speed of {} miles per hour.".format(where, speed))
คำสั่งนี้พิมพ์ข้อความเดียวกับที่เราสร้างขึ้นจากก่อนหน้านี้ เราได้ใช้ .format()
ไวยากรณ์เพื่อเพิ่มค่า "ที่ไหน" และ "ความเร็ว" ลงในสตริงของเรา
.format()
ไวยากรณ์ช่วยให้คุณทำสิ่งต่างๆ เช่น ตั้งชื่อสำหรับแต่ละค่าที่คุณต้องการเพิ่มลงในสตริง ไวยากรณ์ %s ไม่ได้นำเสนอคุณลักษณะเหล่านี้
ใน Python 3 มีการใช้สตริง f เป็นทางเลือกอื่นสำหรับไวยากรณ์ % สตริง F เป็นวิธีที่ง่ายในการฝังค่าหรือนิพจน์ลงในสตริงโดยใช้ตัวอักษรสตริง คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับสตริง f ได้ในบทความของเราเกี่ยวกับสตริง Python 3 f
บทสรุป
ตัวดำเนินการ %s ให้คุณเพิ่มค่าลงในสตริง Python %s หมายความว่าคุณต้องการเพิ่มค่าสตริงลงในสตริง ตัวดำเนินการ % สามารถใช้กับการกำหนดค่าอื่นๆ เช่น %d เพื่อจัดรูปแบบค่าประเภทต่างๆ
ในเวอร์ชันที่ทันสมัยกว่าของ Python ไวยากรณ์ % มีการใช้กันอย่างแพร่หลายน้อยลงในความโปรดปรานของสตริง f และ format()
กระบวนการ.
ตอนนี้ คุณมีความรู้ที่จำเป็นในการใช้โอเปอเรเตอร์ %s ในโค้ดของคุณอย่างนักพัฒนา Python มืออาชีพแล้ว!