为什么反斜杠出现两次
在 Python 中存储带有反斜杠的字符串时,您可能会注意到它们出现了两次。当使用 __repr__() 方法检索字符串的表示形式时,会发生这种情况。通过使用 print() ,您会发现反斜杠仍然是单个反斜杠,如预期的那样:
>>> my_string = "why\does\it\happen?" >>> my_string 'why\does\it\happen?' >>> print(my_string) why\does\it\happen?
尽管在表示中显示加倍,但字符串本身仅包含单个反斜杠,如其长度所示:
>>> 'a\b' 'a\b' >>> len('a\b') 3
要检索字符串的标准表示形式,请使用 repr() function:
>>> print(repr(my_string)) 'why\does\it\happen?'
Python 将反斜杠描述为字符串内的反斜杠,因为反斜杠充当转义字符。例如,n 表示换行符,t 表示制表符。但是,这可能会导致意外的行为:
>>> print("this\text\is\not\what\it\seems") this ext\is ot\what\it\seems
要指定反斜杠的字面外观,请将其加倍:
>>> print("this\text\is\what\you\need") this\text\is\what\you\need
总之,当检索字符串的表示形式时,Python 会转义出于安全目的,所有反斜杠。尽管如此,实际的字符串只包含单个反斜杠。有关Python字符串文字的更多信息,请参阅官方文档。
以上是为什么显示 Python 字符串时反斜杠会加倍?的详细内容。更多信息请关注PHP中文网其他相关文章!