分类:Python 字符串

python中字符串前的r什么意思

在python经常看到很多程序员在字符串的前面加一个r,

那为什么加一这个r呢?我们一起来了解一下


Python中,u表示unicode string,表示使用unicode进行编码,没有u表示byte string,类型是str,在没有声明编码方式时,默认ASCI编码。如果要指定编码方式,可在文件顶部加入类似如下代码:

# -*- coding: utf-8 -*-  


utf-8是一种支持中文的编码格式。

字母前加r表示raw string,也叫原始字符串常量。一般用在一下两个方面:

1、正则表达式
用于处理正则表达式时,规避反斜杠的转义

search = re.compile(r'\s')


2、系统路径
如下面的路径,使用r防止了\t的转义

path = r'd:\test.txt'


扩展资料:
python在执行代码是,所有的计算都会由内存进行,此时的编码格式是unicode,因为世界上存在着多种编码方式,同一个二进制数字可以被解释成不同的符号。为了统一编码格式,便于计算,就出现了unicode。

去掉python内置的转义意义(也就是不转义了)
简单来说“\n\tbce”这样的字符串、由于\t和\n在python有自己特殊的意义、如果你需要在字符串中保持\t的原始意义、就需要在r"\n\tbce",这样以来就不会吧\t \n转义成换行。

这个是表示不转义,使用真实字符。
比如,如下代码:

s = r'test\tccc'
s2 = 'test\tccc'
print(s)
print(s2)

输出结果是:

test\tccc
test    ccc

其中s里面的\t就是使用真实字符\t,而不是转义为制表符。

分类:Python 字符串