Python中的原始字符串详解

原始字符串是python中比较特殊的字符串,以R或者r开始。在原始字符串中,反斜杠”\”不表示转义字符,字符串中的内容被原样输出

比喻说window中的路径:D:\now\project\demo,要直接包含它是不行的,我们需要对其中的 \ 进行转义,但这样写容易出错,需要小心。为了避免这样的问题,就可以使用原始字符串。

path1 = 'D:\now'
print('path1输出为:',path1)    #\n识别成换行符了
s = 'hello\t,I\'m a Cat.'
print('s输出为:',s)    #第一个\和t识别成了制表符\t,第二个\做了转义字符输出'

#使用转义字符
path2 = 'D:\\now'
print('path2输出为:',path2)

#原始字符串
p1 = r'D:\now'
print('p1输出为:',p1)

ss = r'hello\t,I\'m a Cat.'
print('ss输出为:',ss)  #ss输出为: hello\t,I\'m a Cat.

#长路径时,使用转义字符太麻烦,使用原始字符
path3 = r'D:\now\project\demo'
print('path3输出为:',path3)

#但原始字符串的结尾不能加\
#path4 = r'D:\now\project\demo\'   #SyntaxError: unterminated string literal (detected at line 65)

#如果要加\,可以单独写\。先写一个原始字符串,在写一个包含转义符的字符串'\\',python会自动把这两个字符串拼接起来。
path4 = r'D:\now\project\demo''\\'
print('path4输出为:',path4)

上面程序的输出结果为:

图片[1]-Python中的原始字符串详解-尤尤'blog

对于普通格式的原始字符串中,若是出现了引号,依然需要使用\对引号进行转义,否则会因为字符串的引号无法精确配对而导致错误,但和普通字符串不一样的是,原始字符中的转义符\成为了字符串内容的一部分,一起输出了:

s = 'hello\t,I\'m a Cat.'    #普通字符串
print('s输出为:',s)    #第一个\和t识别成了制表符\t,第二个\做了转义字符输出'
#s输出为: hello	,I'm a Cat.

ss = r'hello\t,I\'m a Cat.'    #原始字符串
print('ss输出为:',ss)  #ss输出为: hello\t,I\'m a Cat.

原始字符串的结尾不能是反斜杠\,因为原始字符串中的\依然会对引号进行转义,在结尾放\,会导致结尾处的引号被转义,字符串不能正确的结束。

若想要在原始字符串的结尾处加上反斜杠,可以使用字符串的拼接:单独写\。就是先写一个原始字符串,在写一个包含转义符的字符串’\\’,python会自动把这两个字符串拼接起来。

#但原始字符串的结尾不能加\
#path4 = r'D:\now\project\demo\'   #SyntaxError: unterminated string literal (detected at line 65)

#如果要加\,可以单独写\。先写一个原始字符串,在写一个包含转义符的字符串'\\',python会自动把这两个字符串拼接起来。
path4 = r'D:\now\project\demo''\\'
print('path4输出为:',path4)

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容