在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Python  HTML/ python的r""字符串為什么不能以\結(jié)尾?

python的r""字符串為什么不能以\結(jié)尾?

python中r開頭的字符串代表里面的反斜杠不轉(zhuǎn)義,比如:

>>> s = r"asd\a"
>>> s
'asd\\a'

上面的結(jié)果很容易理解,但是反斜杠如果出現(xiàn)在字符串的結(jié)尾則不行:

>>> s = r"asd\"
  File "<stdin>", line 1
    s = r"asd\"
              ^
SyntaxError: EOL while scanning string literal

為什么會有這樣的設(shè)計(jì)呢?既然r的意思是不轉(zhuǎn)義,為何在末尾的時(shí)候又會出現(xiàn)錯(cuò)誤呢?

回答
編輯回答
胭脂淚

我在 stack overflow 找到了前人問題程答案:
https://stackoverflow.com/que...

"When an 'r' or 'R' prefix is present, a character following a backslash is included in the string without change, and all backslashes are left in the string. ......."
上面錯(cuò)誤已刪
已作修改:
所以我想,可能因?yàn)樵趓''中,反斜杠后面的 ' 被當(dāng)作字符保留了而且是一般字符,因而是失去了功能。
又或者是因?yàn)?,例如r"abc" , 先生成"abc" 字符串,然後才加上r再處理, 如果r"反斜杠"就出現(xiàn)生成字符串失敗。

Doc. Python 里面建意r"反斜杠""

抱歉,反斜杠不見了,希望你
https://docs.python.org/2.0/r...
Doc.python 有陳述

2018年9月5日 10:21