目录
高级变量类型:
Python 中数据类型可以分为 数字型 和 非数字型
非数字型:
-
字符串
-
列表
-
元组
-
字典
在 Python
中,所有 非数字型变量 都支持以下特点:
-
都是一个 序列
sequence
,也可以理解为 容器 -
取值
[]
-
遍历
for in
-
计算长度、最大/最小值、比较、删除
-
链接
+
和 重复*
-
切片
列表:
List
(列表) 是Python
中使用 最频繁 的数据类型,在其他语言中通常叫做 数组- 专门用于存储 一串 信息
- 列表用
[]
定义,数据 之间使用,
分隔 - 列表的 索引 从
0
开始 - 索引 就是数据在 列表 中的位置编号,索引 又可以被称为 下标
- 注意:从列表中取值时,如果 超出索引范围,程序会报错
countries_list = ["China", "Japan", "Germany"]
列表常规操作示意图:
在ipython查看列表的方法:
应用场景
-
尽管
Python
的 列表 中可以 存储不同类型的数据 -
但是在开发中,更多的应用场景是
-
列表 存储相同类型的数据
-
通过 迭代遍历,在循环体内部,针对列表中的每一项元素,执行相同的操作
-
for循环遍历:
- 遍历 就是 从头到尾 依次 从 列表 中获取数据
- 在 循环体内部 针对 每一个元素,执行相同的操作
- 在
Python
中为了提高列表的遍历效率,专门提供的 迭代 iteration 遍历 - 使用
for
就能够实现迭代遍历
元组:
Tuple
(元组)与列表类似,不同之处在于元组的 元素不能修改- 元组 表示多个元素组成的序列
- 元组 在
Python
开发中,主要用于存储 一串 信息,数据 之间使用,
分隔 - 元组用
()
定义 - 元组的 索引 从
0
开始 - 索引 就是数据在 元组 中的位置编号
创建元组:
创建空元组:
注意:要是创建只有一个值的元组时,需要加上 ,(逗号):
没有加 , 逗号时,显示的类型并不是元组,而是这个值的类型。
加上 ,逗号时:
查看元组的方法:
可以看到元组只有两个方法:
循环遍历元组:
元组的应用:
-
尽管可以使用
for in
遍历 元组 -
但是在开发中,更多的应用场景是:
-
函数的 参数 和 返回值,一个函数可以接收 任意多个参数,或者 一次返回多个数(后面介绍)
-
格式字符串,格式化字符串后面的
()
本质上就是一个元组 -
让列表不可以被修改,以保护数据安全
-
格式化字符串:
元组与列表之间的相互转换:
注意转换的时候并不是直接将原来的元组变成列表,实际上就是将一个元组的值,取下来给变成一个列表的值。
而原来的元组还是元组。
列表转换成元组也是同样的道理:
字典:
-
dictionary
(字典) 是 除列表以外Python
之中 最灵活 的数据类型 -
字典同样可以用来 存储多个数据
-
通常用于存储 描述一个
物体
的相关信息
-
-
和列表的区别
-
列表 是 有序 的对象集合
-
字典 是 无序 的对象集合
-
-
字典用
{}
定义 -
字典使用 键值对 存储数据,键值对之间使用
,
分隔-
键
key
是索引 -
值
value
是数据 -
键 和 值 之间使用
:
分隔 -
键必须是唯一的
-
值 可以取任何数据类型,但 键 只能使用 字符串、数字或 元组
-
字典常用操作:
历循环遍:
遍历 就是 依次 从 字典 中获取所有键值对
提示:在实际开发中,由于字典中每一个键值对保存数据的类型是不同的,所以针对字典的循环遍历需求并不是很多
应用场景:
-
尽管可以使用
for in
遍历 字典 -
但是在开发中,更多的应用场景是:
-
使用 多个键值对,存储 描述一个
物体
的相关信息 —— 描述更复杂的数据信息 -
将 多个字典 放在 一个列表 中,再进行遍历,在循环体内部针对每一个字典进行 相同的处理
-
字符串:
-
字符串 就是 一串字符,是编程语言中表示文本的数据类型
-
在 Python 中可以使用 一对双引号
"
或者 一对单引号'
定义一个字符串-
虽然可以使用
\"
或者\'
做字符串的转义,但是在实际开发中:-
如果字符串内部需要使用
"
,可以使用'
定义字符串 -
如果字符串内部需要使用
'
,可以使用"
定义字符串
-
-
-
可以使用 索引 获取一个字符串中 指定位置的字符,索引计数从 0 开始
-
也可以使用
for
循环遍历 字符串中每一个字符
字符串的常规方法操作:
字符串的切片:
切片 方法适用于 字符串、列表、元组
-
切片 使用 索引值 来限定范围,从一个大的 字符串 中 切出 小的 字符串
-
列表 和 元组 都是 有序 的集合,都能够 通过索引值 获取到对应的数据
-
字典 是一个 无序 的集合,是使用 键值对 保存数据
注意:
-
指定的区间属于 左闭右开 型
[开始索引, 结束索引)
=>开始索引 >= 范围 < 结束索引
-
从
起始
位开始,到结束
位的前一位 结束(不包含结束位本身)
-
-
从头开始,开始索引 数字可以省略,冒号不能省略
-
到末尾结束,结束索引 数字可以省略,冒号不能省略
-
步长默认为
1
,如果连续切片,数字和冒号都可以省略
索引的顺序和倒序
-
在 Python 中不仅支持 顺序索引,同时还支持 倒序索引
-
所谓倒序索引就是 从右向左 计算索引
-
最右边的索引值是 -1,依次递减
-
演练:
注意:
在倒叙时,末尾的引索值为-1,而不是0.
公共方法:
Python 内置函数
Python 包含了以下内置函数:
函数 | 描述 | 备注 |
---|---|---|
len(item) | 计算容器中元素个数 | |
del(item) | 删除变量 | del 有两种方式 |
max(item) | 返回容器中元素最大值 | 如果是字典,只针对 key 比较 |
min(item) | 返回容器中元素最小值 | 如果是字典,只针对 key 比较 |
运算符
运算符 | Python 表达式 | 结果 | 描述 | 支持的数据类型 |
---|---|---|---|---|
+ | [1, 2] + [3, 4] | [1, 2, 3, 4] | 合并 | 字符串、列表、元组 |
* | ["Hi!"] * 4 | ['Hi!', 'Hi!', 'Hi!', 'Hi!'] | 重复 | 字符串、列表、元组 |
in | 3 in (1, 2, 3) | True | 元素是否存在 | 字符串、列表、元组、字典 |
not in | 4 not in (1, 2, 3) | True | 元素是否不存在 | 字符串、列表、元组、字典 |
> >= == < <= | (1, 2, 3) < (2, 2, 3) | True | 元素比较 | 字符串、列表、元组 |
成员运算符
成员运算符用于 测试 序列中是否包含指定的 成员
运算符 | 描述 | 实例 |
---|---|---|
in | 如果在指定的序列中找到值返回 True,否则返回 False | 3 in (1, 2, 3) 返回 True |
not in | 如果在指定的序列中没有找到值返回 True,否则返回 False | 3 not in (1, 2, 3) 返回 False |
注意:在对 字典 操作时,判断的是 字典的键
完整的 for 循环语法
-
在
Python
中完整的for 循环
的语法如下:
for 变量 in 集合:
循环体代码
else:
没有通过 break 退出循环,循环结束后,会执行的代码
应用场景
-
在 迭代遍历 嵌套的数据类型时,例如 一个列表包含了多个字典
-
需求:要判断 某一个字典中 是否存在 指定的 值
-
如果 存在,提示并且退出循环
-
如果 不存在,在 循环整体结束 后,希望 得到一个统一的提示
-