来自:zip11 > 馆藏分类
配色: 字号:
Python - r'', b'', u'', f'' 的含义
2022-04-03 | 阅:  转:  |  分享 
  
字符串前加f(重点!敲黑板!)作用:相当于?format()?函数name="帅哥"age=12print(f"mynamei
s{name},ageis{age}")执行结果mynameis帅哥,ageis12?字符串前加rr""??的作
用是:去除转义字符场景:想复制某个文件夹的目录,假设是?F:\Python_Easy\n4\test.py?当你不用?r""?,你
有三种写法print("F:\Python_Easy\n4\test.py")print("F:\\Python_Easy\\n
4\\test.py")print("F:/Python_Easy/n4/test.py")而通常如果直接复制目录路径的话,你
就粘贴出来的字符串就是第一行代码所示,所有?\?会当成转义符;而为了消除转义作用,需要手动再加一个?\?,否则你也得手动改成第三行
代码一样执行结果F:\Python_Easy4est.pyF:\Python_Easy\n4\test.pyF:/Py
thon_Easy/n4/test.py而?r""?的出现就是为了避免这种情况,如下:print(r"F:\Python_Eas
y\n4\test.py")执行结果F:\Python_Easy\n4\test.py?字符串前加bb""的作用是:后面字
符串是bytes类型话不多说,直接上代码print("中文".encode(encoding="utf-8"))print(b''
\xe4\xb8\xad\xe6\x96\x87''.decode())print(r''\xe4\xb8\xad\xe6\x96\x
87'')执行结果b''\xe4\xb8\xad\xe6\x96\x87''中文\xe4\xb8\xad\xe6\x96\x87可以看到
,当你不加?b""?时,他也就是个普通的字符串而已,不会识别为字节类型bytes应用场景:像图片、音视频等文件的读写就是用byte
s数据?顺便可以看看字符串和bytes之间的转换是怎么样的:#bytes转字符串方式一b=b''\xe9\x80\x86\
xe7\x81\xab''string=str(b,''utf-8'')print(string)#字符串转bytes方式一s
tr1=''逆火''b=bytes(str1,encoding=''utf-8'')print(b)?字符串前加u作用:后面字
符串以Unicode格式进行编码实际场景:一般用在中文字符串前面,防止因为源码储存格式问题,导致再次使用时出现乱码。建议所有编码方式采用utf8
献花(0)
+1
(本文系zip11首藏)