ตัวกำหนด %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'คุณสามารถนำนิพจน์ที่สองไปสร้างออบเจกต์เดิมได้จริง