為什麼反斜線出現兩次
在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中文網其他相關文章!