แสดงอักขระพิเศษเมื่อใช้คำสั่งพิมพ์


คำตอบ:


170

ใช้repr :

a = "Hello\tWorld\nHello World"
print(repr(a))
# 'Hello\tWorld\nHello World'

โปรดทราบว่าคุณไม่ได้รับ\sช่องว่าง หวังว่าคงพิมพ์ผิดนะ ... ?

แต่ถ้าคุณต้องการ\sเว้นวรรคจริงๆคุณสามารถทำได้:

print(repr(a).replace(' ',r'\s'))

1
Python 3 คือ:print(repr(a))
07lodgeT

16

คุณเพียงต้องการพิมพ์สตริงด้วยวิธีนั้นหรือคุณต้องการให้เป็นตัวแทนภายในของสตริง? ถ้าหลังสร้างมันขึ้นมาเป็นสตริงดิบโดย prefixing ด้วย:rr"Hello\tWorld\nHello World"

>>> a = r"Hello\tWorld\nHello World"
>>> a # in the interpreter, this calls repr()
'Hello\\tWorld\\nHello World'
>>> print a
Hello\tWorld\nHello World

นอกจากนี้\sไม่ใช่อักขระหลีกยกเว้นในนิพจน์ทั่วไปและยังมีความหมายที่แตกต่างจากที่คุณใช้อยู่มาก

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.