Python字符串前加r的真正含义

"""
字符串中,存在一种特殊字符:转义字符\,如:
\a 响铃(BEL)
\b 退格
\t 制表符
\r 回车(CR) ,将当前位置移到本行开头
\n 换行(LF) ,将当前位置移到下一行开头
\\ 代表一个反斜线 \
\' 代表一个单引号 '
\" 代表一个双引号 "
\? 代表一个问号 ?
字符串中,碰到上述字符组合,会自动转义
在Python中字符串前加r,等价于在所有\前再加一个\,变成\\,\\被转义为\,从而避免\转义n,t,r等字符,\不再代表转义字符(禁止转义)
总结:\为转义字符,具备转义能力,'\\'或r'\'则失去转义能力 代表一个普通字符\
"""
str1 = '\n'  # n被转义,代表一个换行符
print('str1:', str1, repr(str1), len(str1))
str2 = r'\n'  # 加r,会在\前再加一个\,根据从左往右运算规则,\\转义为\,n单独存在,最终结果为两个字符: \ n
print('str2:', str2, repr(str2), len(str2), str2[0], str2[1])  # str2: \n '\\n' 2 \ n
str3 = '\\n'  # 与str2等价
print('str3:', str3, repr(str3), len(str3), str3[0], str3[1])  # str3: \n '\\n' 2 \ n

# 思考:以下路径为何会报错?
# 原因:\被识别为转义字符与\U结合导致报错
# path1 = 'C:\Users\Administrator\Desktop\1.jpg'
# 修改:
path2 = 'C:\\Users\\Administrator\\Desktop\\1.jpg'
path3 = r'C:\Users\Administrator\Desktop\1.jpg'

猜你喜欢

转载自blog.csdn.net/zhu6201976/article/details/105054742
今日推荐