原始字符串

比如写一条windows的路径,G:\publish\codes\02\2.4, 如果在python中这样写肯定是不行的,需要写成G:\\publish\\codes\\02\\2.4,这很烦人,此时可借助于原始字符串来解决这个问题。

原始字符串以r开头,原始字符串不会把反斜杆当成特殊字符,因此就可以写来r 'G:\publish\codes\02\2.4'

>>> s = r'G:\publish\codes\02\2.4'
>>> print(s)
G:\publish\codes\02\2.4

如果原始字符串包含引号,程序同样需要对引号进行转义(否则python同样无法对字符串的引号精确配对),但此时由于转义的反斜杆会变成字符串的一部分。

>>> s2 = r'"Let\'s go", said charile'
>>> print(s2)
"Let\'s go", said charile

由于原始字符串中反斜线会对引号进行转义,因此原始字符串的结尾处不能是反斜线,否则字符串结尾处的引号被转义了,这样就导致字符串不能正常结束

如果确实需要在字符串结尾处包含反斜线需要怎么办?一种方法是不要使用原始字符串,而是改为使用长字符串写法(三引号字符串);另外一种就是将反斜线单独写,

>>> s3 = r'Good morning' '\\'
>>> print(s3)
Good morning\
>>> s4 = "Good morning \
... \\"
>>> print(s4)
Good morning \

 

posted @ 2021-03-23 17:02  星火撩原  阅读(101)  评论(0编辑  收藏  举报