1.u前缀表示unicode,以Unicode字符来存储字符串。在python3中,字符串的存储方式中,不管前缀带不带u,默认方式都是unicode编码的字符串。
>>> s1 = "I am 中国人"
>>> s2 = u"I am 中国人"
>>> print(s1,s2)
I am 中国人 I am 中国人
2.r前缀表示raw string,不识别转义。如下
>>> b = r"test\ntest"
>>> print(b)
test\ntest
>>> c = "test\ntest" #与不用r前缀相对比
>>> print(c)
test
test
3.b前缀表示bytearray,生成字节序列对象。比如在网络通信中,需要按字节序列发送数据时有用,如下
>>> import socket
>>> s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
>>> message = b'hello'
>>> s.sendto(message,('127.0.0.1',3030))
4.f前缀表示format,用来格式化字符串。比format具有更好的可读性,如下
>>> age = 38
>>> name = "Annie"
>>> f'his name is {name},{age} years old'
'his name is Annie,38 years old'