1、字符串前加u
例子:
u"字符串中有中文"
含义:
前缀u表示该字符串是unicode编码,Python2中用,用在含有中文字符的字符串前,防止因为编码问题,导致中文出现乱码。另外一般要在文件开关标明编码方式采用utf8。
Python3中,所有字符串默认都是unicode字符串。
给大家推荐一个软件测试技术交流群:1079636098 群友福利免费领取
2、字符串前加r
例子:
1
|
r "\n\t"
|
含义:
在普通字符串中,反斜线是转义符,代表一些特殊的内容,如换行符\n。
前缀r表示该字符串是原始字符串,即\不是转义符,只是单纯的一个符号。
常用于特殊的字符如换行符、正则表达式、文件路径。
注意不能在原始字符串结尾输入反斜线,否则Python不知道这是一个字符还是换行符(字符串最后用\表示换行),会报错:
S y nt axError : EOL while sc anning
string literal
那如果是一个文件夹路径就是以\结尾怎么办呢,可以再接一个转义\的字符串:
>>>print r 'C : \ Progr am
File \ my \path ' ' \ \ '
C: \ Program File \ my \path \
3、字符串前加b
例子:
b '<hl>Hello world!</ h1> '
含义:
前缀b表示该字符串是bytes类型。
用在Python3中,Python3里默认的str是unicode类。Python2的str本身就是bytes类,所以可不用。
常用在如网络编程中,服务器和浏览器只认bytes类型数据。如: send函数的参数和recv函数的返回值都是bytes类型。
在 Python3中,bytes和str的互相转换方式是
str . encode ( ' ut f- 8' )
bytes .decode ( 'ut f-8' )
4、字符串前加f
例子:
一一account='程序员一凡
>>>month='3o'
>>>f'我的微信公众号是:{account },已经
连续发文{int ( month ) * 5]天啦!'
'我的微信公众号是:程序员一凡,已经连续发文15o天啦!'
含义:
Python3.6新加特性,前缀f用来格式化字符串。可以看出f前缀可以更方便的格式化字符串,比format()方法可读性高且使用方便。
而且加上f前缀后,支持在大括号内,运行Python表达式。
你还可以用fr前缀来表示原生字符串。