上一篇:【Python】入门到放弃之第二章《变量》
下一篇:【Python】入门到放弃之第四章《数据类型转换》
文章目录
前言
这是本系列的第三章节内容,《数据类型》。
一、何为数据类型
数据类型(Data Type)是编程中用于指定数据项(如变量、数组等)存储何种类型的数据的标记或分类。不同的数据类型允许程序以不同的方式存储和操作数据。数据类型对于编程语言来说至关重要,因为它们决定了数据如何被解释以及可以在数据上执行哪些操作。
本章将其分为数字类型、布尔类型、字符串类型、列表类型、元组类型、字典类型、集合类型、其他数据类型等进行讲解。
二、数字类型(Number Types)
-
整型(Integer):用于表示整数,可以是正整数、负整数或零。Python 3中不再区分整型(int)和长整型(long),统一使用int类型。
-
浮点型(Float):用于表示带有小数点的实数,可以是正数、负数或零。
-
复数型(Complex):由实部和虚部组成,表示形式为a + bj,其中a是实部,b是虚部,j(或J)是虚数单位。
代码如下(示例):
# 下面是整型
x = 10 # 正整数
y = -5 # 负整数
z = 0 # 零
# 下面是浮点型
a = 3.14 # 浮点数
b = -0.01 # 负浮点数
c = 0.0 # 零的浮点数表示
# 下面是复数型
c1 = 1 + 2j # 复数
c2 = 7.7 - 8.10j # 带有浮点数的复数
三、布尔类型(Boolean Type)
- 布尔类型只有两个值:True和False,用于表示逻辑上的真和假。常用于条件判断和控制流语句中。
代码如下(示例):
# 布尔值在数值上下文中的表现
print(True + 1) # 输出 2
print(False * 3) # 输出 0
输出如下(示例):
2
0
四、字符串类型(String Type)
1.字符串的使用
- 字符串是由零个或多个字符组成的有限序列,用于表示文本数据。Python中的字符串是不可变的,即一旦创建就不能更改其内容。字符串可以用单引号(‘)、双引号(")或三引号(’''或"“”)来定义。
代码如下(示例):
# 使用单引号定义字符串
s1 = 'Hello, world!'
# 使用双引号定义字符串
s2 = "Hello, world!"
# 使用三引号定义多行字符串
s3 = """这是一个多行字符串。
它可以包含多个字符,
甚至换行符。"""
# 包含引号字符的字符串
s4 = 'He said, "Hello, world!"'
s5 = "She said, 'Hello, world!'"
# 使用转义字符来定义包含引号的字符串(非必需,仅作演示)
s6 = 'He said, \"Hello, world!\"'
s7 = "She said, \'Hello, world!\'"
需要注意的是,字符串是不可变的,任何看起来像是修改字符串的操作实际上都是创建了一个新的字符串。
代码如下(示例):
s = 'Hello'
s = s + ', world!' # 这里并没有修改s,而是创建了一个新的字符串并赋值给s
2.字符串的常用操作
Python提供了丰富的字符串操作方法,包括拼接、切片、索引、查找、替换、分割、格式化等。
- 拼接:使用+操作符可以拼接两个或多个字符串。
- 切片:使用切片语法可以获取字符串的子串。
- 索引:使用索引可以访问字符串中的单个字符。
- 查找:使用find()、index()等方法可以在字符串中查找子串的位置。
- 替换:使用replace()方法可以在字符串中替换子串。
- 分割:使用split()方法可以根据指定的分隔符将字符串分割成列表。
- 格式化:可以使用%操作符、str.format()方法或f-strings(Python 3.6+)来格式化字符串。
3.字符串的编码
-
在Python中,字符串是以Unicode编码的形式存储的。Unicode是一种为了将世界上所有的系统、语言和字符编码都纳入其中的编码标准。这意呀着Python的字符串可以包含来自任何语言的字符。
-
当需要将字符串以特定编码形式(如UTF-8)保存到文件或通过网络传输时,可以使用encode()方法将字符串编码为字节序列,使用decode()方法将字节序列解码为字符串。但请注意,这两个操作通常是在处理字节序列(bytes类型)时使用的,而不是直接在字符串上进行。
五、列表类型(List Type)
- 列表是Python中最常用的复合数据类型之一,它是一个有序的数据集合,可以包含不同类型的元素(如整数、浮点数、字符串等),且元素之间用逗号分隔,整个列表用方括号[]括起来。列表是可变的,即可以添加、删除或修改其中的元素。
- 注意,本小节下面1-6的代码应为连续。
1.创建列表
- 列表由方括号[]定义,里面的元素由逗号,分隔。
代码如下(示例):
# 创建一个空列表
my_list = []
# 创建一个包含不同类型元素的列表
my_list = [1, 'Hello', 3.14, [1, 2, 3]]
2.访问列表元素
- 列表中的元素可以通过索引进行访问,索引从0开始。
代码如下(示例):
# 访问列表的第一个元素
first_element = my_list[0]
# 访问列表的最后一个元素(注意,这不是索引-1的简写)
last_element = my_list[-1]
此时,first_element 应为 1 、last_element 为 [1, 2, 3] 。
3.修改列表
- 由于列表是可变的,可以通过索引来修改列表中的元素。
代码如下(示例):
# 修改第一个元素
my_list[0] = 'New Element'
# 列表的嵌套修改
my_list[-1][0] = 0 # 将子列表的第一个元素修改为0
此时,my_list应为 [‘New Element’, ‘Hello’, 3.14, [0, 2, 3]] 。
4.添加元素
- 添加元素:可以使用append()方法在列表末尾添加元素,或者使用insert()方法在指定位置插入元素。
代码如下(示例):
# 在列表末尾添加元素
my_list.append('Another Element')
# 在索引1的位置插入元素
my_list.insert(1, 'Inserted Element')
此时,my_list应为 [‘New Element’, ‘Inserted Element’, ‘Hello’, 3.14, [0, 2, 3], ‘Another Element’] 。
5.删除元素
- 删除元素:可以使用remove()方法根据值删除元素,或者使用pop()方法根据索引删除元素(并返回被删除的元素)。
代码如下(示例):
# 删除值为'Inserted Element'的元素
my_list.remove('Inserted Element')
# 删除索引为1的元素(注意,这会改变列表中元素的索引)
popped_element = my_list.pop(1)
此时,my_list应为 [‘New Element’, 3.14, [0, 2, 3], ‘Another Element’] 。
6.列表切片
- 列表支持切片操作,允许获取列表的一部分。
代码如下(示例):
# 获取列表的前三个元素
first_thre