字符串前加'r',(解释一下 raw string):
作用意义,去掉了反斜杠的机制,特别是在处理一些换行制表,还有window路径时非常实用
示例,对比一下
str=r'a\nb\n1\n2\n' ,
str2='a\nb\n1\n2\n' ,
str3=r'\\172.26.6.167\tempshare\abe\picture' ,
str4='\\172.26.6.167\tempshare\abe\picture' ,
str5='\\\\172.26.6.167\\tempshare\\abe\\picture' ,
字符串前加'b':
作用意义,后面的字符串是bytes类型。
比如,str=b'hello,world!', 通常在网路编程中,服务器和浏览器只识别bytes类型数据。如send
函数的参数和recv
函数的返回值都是bytes
类型。在Python3中,bytes
和str
的互相转换方式如下:
str.encode('utf-8')
bytes.decode('utf-8')
字符串前加'u':
历史问题,python2中的用法,意义是后面的字符以Unicode格式进行编码,在python3中字符串已经默认是Unicode编码,
tips:在Python 3中,所有字符串都默认为Unicode字符串,因此在Python 3中,u前缀不再有特殊意义,可以省略。但是,如果想要向后兼容Python 2代码,可以在Python 3中使用u前缀来表示Unicode字符串
字符串前加‘f’:
作用意义:格式化字符串。这允许将变量和表达式嵌入到字符串中,以简化字符串的构建。在格式化字符串中,花括号({})中的任何内容都会被解释为Python表达式,并在字符串中使用它们的值。