标签:eol str print pat 前缀 \n err 形式 一点
在Python中,如果字符串的前面有r/R前缀,那么,就会禁用转义符\的功能:
>>>path = r‘C:\new\text.dat‘
>>>pah
‘C:\\new\\text.dat‘
>>>print(path)
C:\new\text.dat
>>>len(path) #虽然打印的形式不一样,但是字符数还是15个
15
上面的例子中,在交互环境下打印,Python将打印结果当成Python code来看待,因此,会有双斜杠;而print函数打印形式就比较友好。但是,无论采用哪种打印方式,字符个数是不变的,上述例子中,使用len函数查看,字符个数还是15个。
对于r前缀,还需要注意的一点是,如果字符串结束标志,即‘或者"前面是一个\,即使使用了r前缀,Python仍然将它看成不合法的字符:
>>>S = r‘a\‘
SyntaxError:EOL while scanning string literal
>>>S = r‘a\\‘ # 正确处理方式,仍需双斜杠\\
>>>S
‘a\\\\‘
>>>print(S)
a\\
>>>len(S) #每一个斜杠\都看成一个字符
3
标签:eol str print pat 前缀 \n err 形式 一点
原文地址:https://www.cnblogs.com/moying-wq/p/10010067.html