Python注意字符串和字节字面量

简介: 【5月更文挑战第7天】Python注意字符串和字节字面量

image.png
在Python中,字符串(str)和字节(bytes)是两种不同的数据类型,它们在处理文本和二进制数据时非常重要。了解它们之间的区别以及如何正确使用它们是非常重要的。

字符串(str)

字符串是Python中表示文本数据的主要数据类型。字符串是Unicode字符的序列,并且是不可变的(即一旦创建就不能修改)。在Python 3中,所有的字符串都是Unicode字符串。

字符串字面量通常用单引号(')或双引号(")括起来,例如:

s1 = 'Hello, world!'
s2 = "Hello, again."

你还可以使用三引号(''' 或 """)来定义多行字符串:

s3 = """This is a
multi-line string."""

字节(bytes)

字节是Python中表示二进制数据的主要数据类型。字节是不可变的,并且每个元素的值在0到255之间(一个字节可以表示256个不同的值)。字节字面量以bB前缀开头,并使用单引号或双引号括起来,但只能包含ASCII字符。

字节字面量的示例:

b1 = b'Hello'  # 这会抛出一个错误,因为'Hello'包含非ASCII字符
b2 = b'Hello\n'  # 这是一个有效的字节字面量,包含ASCII字符和换行符
b3 = bytes([65, 66, 67])  # 这会创建一个包含ASCII字符'A', 'B', 'C'的字节对象

编码和解码

由于字符串是Unicode的,而字节是二进制的,因此经常需要在它们之间进行转换。这通常通过编码(将字符串转换为字节)和解码(将字节转换回字符串)来完成。

  • 编码:使用字符串的.encode()方法将其转换为字节。你需要指定一个编码(如'utf-8')来指示如何将Unicode字符转换为字节。
  • 解码:使用字节的.decode()方法将其转换回字符串。同样,你需要指定一个编码来指示如何将字节转换回Unicode字符。

示例:

s = 'Hello, world!'
b = s.encode('utf-8')  # 编码为UTF-8字节
print(b)  # 输出:b'Hello, world!'

s2 = b.decode('utf-8')  # 解码为字符串
print(s2)  # 输出:Hello, world!

总结

  • 字符串(str)用于表示文本数据,是Unicode字符的序列。
  • 字节(bytes)用于表示二进制数据,是0到255之间的整数的序列。
  • 字符串和字节之间的转换通常通过编码和解码来完成,你需要指定一个编码(如'utf-8')来指示如何进行转换。
目录
相关文章
|
8天前
|
索引 Python
python字符串(str)
【5月更文挑战第8天】
11 3
|
8天前
|
Python
【Python操作基础】——字符串
【Python操作基础】——字符串
|
2天前
|
存储 索引 Python
Python数据结构——字符串
Python数据结构——字符串
12 0
|
2天前
|
存储 索引 Python
Python基础 笔记(七) 容器--字符串、列表
Python基础 笔记(七) 容器--字符串、列表
15 4
|
3天前
|
机器学习/深度学习 Python
关于python字符串format的一些花式用法_format带加号
关于python字符串format的一些花式用法_format带加号
|
6天前
|
索引 Python Go
【python学习】字符串详解,面试必问公司的问题
【python学习】字符串详解,面试必问公司的问题
|
8天前
|
BI 索引 Python
python字节(bytes)
【5月更文挑战第8天】python字节(bytes)
15 5
|
8天前
|
Python
Python字符串和字节不要混淆str.format()和bytes.format()
【5月更文挑战第6天】Python字符串和字节不要混淆str.format()和bytes.format()
9 1
|
1天前
|
C语言 Python
专为编程小白设计的Python零基础入门教程,GitHub星标破W
市面上大多数技术类的书籍都着重于一步步的构建系统的知识体系,并不是说这样就是不对的,但这样按部就班的学习注定了需要花费大量的时间用来掌握“基础知识”,或死记硬背,或慢慢理解。 然而世界不会迁就你,而是在步步紧逼的告诉你要赶紧学完,赶紧找工作,赶紧挣钱,这才是你生活的基础。 今天给小伙伴们带来了一份《编程小白的第一步Python书》,这本书是专为零基础小白设计的,不会告诉“先学C语言,会更好理解Python”这种狗屁道理。而是先带你掌握搭建项目所用到的最少得知识,再真实的项目搭建中实践自己的所学,逐渐的完善知识体系
|
2天前
|
存储 算法 安全
Python编程实验六:面向对象应用
Python编程实验六:面向对象应用
18 1