背景
在python程序中,有时我们会看到一些带有一定前缀的字符串,例如字符中有u,r,f,b等等。这些写法又代表什么意思,有什么作用呢?下面总结一下当前遇到的一些情况进行总结。
字符串前加u
例如:u"这是我测试的中文字符串" 作用:后面字符串以 Unicode 格式 进行编码,一般用在中文字符串前面,防止因为源码储存格式问题,导致再次使用时出现乱码。
字符串前加r
例:r"\n\t” 表示一个普通生字符串 \n\t,而不表示换行和tab键了,或者也可以理解为raw。 作用:去掉反斜杠的转移机制。 (特殊字符:即那些,反斜杠加上对应字母,表示对应的特殊含义的,比如最常见的”\n”表示换行,”\t”表示Tab等。 )
应用:常用于正则表达式,对应着re模块等。
字符串前加b
例: response = b'<h1>Hello World!</h1>'
b’ ’ 表示这是一个 bytes 对象,
作用:b" "前缀表示:后面字符串是bytes 类型。
用处:网络编程中,服务器和浏览器只认bytes 类型数据。
在 Python3 中,bytes 和 str 的互相转换方式是
str.encode('utf-8')
bytes.decode('utf-8')
字符串前加 f
该种类型主要是格式化输出结果数据。
model = "text_cnn"
loss = 0
epoch = 23
print(f'{model} train {epoch} epoch, loss {loss}')
|