Python字符串的前缀字母你都知道怎么用吗?
2024-05-05 加入收藏
欢迎访问Python3分钟系列。花3分钟时间,学习或温习一个Python知识点。今天是第225。
大家好,我是小K,今天的文章又是拖了好久的Python3分钟系列。
今天学习、复习的知识点比较简单也很常用,又是一篇Python知识扫盲文。
在文章开始前,先自测一下:你所知Python字符串前缀字母有哪些?
我只知道有4个,不知道有没有大神能补充学习下?
我知道的4个字符串前缀是 "u","f","r","b"。
u"麦叔编程"
例子:
u"麦叔编程"
含义:
前缀u表示该字符串是unicode编码。
在Python2中,用在含有中文字符的字符串前,防止因为编码问题,导致中文出现乱码。另外一般要在文件开关标明编码方式采用utf8。
但Python3中,所有字符串默认都是unicode字符串,所以这个u就被隐去了(加了也不报错)。
f"我是{name}"
关于f前缀的详细解释可以看看我往期关于f-string
的发文,此处就不再啰嗦了:
>> 传送门:震惊了!f-string还有那么多隐藏功能【#162】 <<
r"\n"
**例子:**
r"\n"
含义:
在普通字符串中,反斜线是转义符,代表一些特殊的内容,如换行符\n
。
前缀r表示该字符串是原始字符串(Raw String),即\
不是转义符,只是单纯的一个符号。
原始字符串在处理正则表达式、文件路径等场景中特别有用,字符串前加了r允许你直接包含反斜杠而不用担心转义问题。
b"麦叔编程"
例子:
b"麦叔编程"
含义:
在Python中,字符串前缀 b 表示“字节字符串”(bytes)。字节字符串是一种特殊的字符串类型,用于表示以字节为单位的数据,而不是Unicode字符。
普通的字符串是Unicode字符串,它使用Unicode编码来表示文本。
而字节字符串是以字节为单位的不可变序列,适用于处理二进制数据,如图像、音频文件、网络传输中的数据等。
例如:
我们将字符串进行编码,编码之后就是字节字符串:
s = "麦叔编程"
enc_s = s.encode("utf-8") # 编码
print(enc_s)
# b'\xe9\xba\xa6\xe5\x8f\x94\xe7\xbc\x96\xe7\xa8\x8b'
dec_s = enc_s.decode("utf-8") #解码
print(dec_s)
# 麦叔编程