Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

เมื่อใดควรใช้ %r แทน %s ใน Python


ตัวระบุ %s แปลงวัตถุโดยใช้ str() และ %r แปลงโดยใช้ repr()

สำหรับบางอ็อบเจกต์ เช่น จำนวนเต็ม พวกมันให้ผลลัพธ์เหมือนกัน แต่ repr() นั้นพิเศษตรงที่ (สำหรับประเภทที่เป็นไปได้) จะส่งกลับผลลัพธ์ที่เป็นไวยกรณ์ Python ที่ถูกต้องตามอัตภาพ ซึ่งอาจใช้เพื่อสร้างอ็อบเจกต์ขึ้นมาใหม่ได้อย่างชัดเจน เป็นตัวแทน ตัวอย่างเช่น หากคุณมีสตริงที่มีอักขระต่อท้าย %s จะแสดงเนื้อหาในบรรทัดใหม่ ในขณะที่ %r จะให้ผลลัพธ์เป็น \n และยังรักษาเครื่องหมายคำพูดไว้

ตัวอย่าง

>>> string = "Hello\nworld"
>>> print "Example: %s" % string
Example: Hello
world
>>> print "Example: %r" % string
Example: 'Hello\nworld'

คุณสามารถใช้นิพจน์ที่สองเพื่อสร้างวัตถุขึ้นมาใหม่ได้