Python - r'', b'', u'', f'' 的含义 |
|
|
字符串前加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 |
|
|
|
|
|
|
|