数据类型是学习一门编程语言必须掌握的知识。python中数据类型是不需要提前定义的,这是因为系统会根据赋值的结果自动识别数据类型python有六种数据类型:数字(Number),字符串(String)列表(List),元组(Tuple),集合(Set),字典(Dictionary)。
我们将数字,字符串称为简单数据类型。列表,元组,集合,字典称为组合数据类型
1简单数据类型
1.1数字类型
python3支持4中不同数字类型:整型(int),浮点型(float),布尔型(bool),复数型(complex)。
1.整型
整型通常被称为整数,在python3中没有大小限制,在程序上的表示方法和数学上的写法一致
2.浮点型
浮点数即为小数,可以用科学计数法表示,如3e-2表示0.03
3.布尔型
布尔型属于整型的子类,常用于表是真和假两种对立状态,其值只有Ttue和False。其中,True表是真(条件满足或成立),False表示假(条件不成立),True本质是1,False本质是0.
用bool()函数转换为布尔值为False的包括None,False,整数0,浮点数0.0,复数0.0+0.0j,空字符'',空列表[],空元组(),空字典{}等,其他数据基本都为True
4.复数型
复数型是用来表示数学中的复数,用a+bj表示,虚数的实数部分和虚数部分都是浮点型。
拓展:数值计算函数
绝对值函数 | abs() |
最大值函数 | max() |
最小值函数 | min() |
获取商和余数 | divmod(17,5)=(3,2) |
幂乘函数 | pow() |
四舍五入函数 | round() |
1.2字符串类型
字符串类型是python中最常用的数据类型,本质是有一串字符序列构成的不可变对象,通常可以用一对单引号或双引号表示字符串,如果希望字符串包含换行等特殊字符时也可以用一对三引号('''或""")来表示字符串。而单双引号中的字符串必须在一行内
a = '''风雪压我两三年,我笑风轻雪如棉。
心中仍有鸿鹄志,他日登顶笑苍天。'''
print(a)
运行结果
风雪压我两三年,我笑风轻雪如棉。
心中仍有鸿鹄志,他日登顶笑苍天。
使用不同的引号表示字符串没有太大区别,只不过希望使字符串中有引号时,字符串外的引号应该用另一种形式。而如果希望字符串中同时包含单引号字符和双引号字符,则可以使用三引号来表示字符串。
a = '我就像打印一个"如何呢?'
print(a)
运行结果
我就像打印一个"如何呢?
python字符串中,使用反斜线"\"可以实现转义功能
转义字符 | 含义 | 转义字符 | 含义 |
---|---|---|---|
\n | 换行符 | \r | 回车 |
\t | 制表符 | \\ | 一个反斜杠 |
\' | 单引号 | \" | 双引号 |
1.3数据类型转换函数
在python项目开发中,不同的数值类型也可以进行转换,并且标准库中提供数据转换函数
函数 | 作用 |
int() | 将字符串或数字转换为整数型 |
float() | 将字符串或数字转换为浮点型 |
str() | 将数字转换为字符串型 |
chr() | 将ASCⅡ码转换为字符 |
ord() | 将字符转换为ASCⅡ码 |
bool() | 判断布尔运算结果 |
1.4标识符和关键字
1标识符
标识符本质就是名字,可以用来表示变量名,类名,方法名。python语言标识符通常由字母,下划线,数字构成。在python3中,可以使用中文作为标识符,也就是非ASCⅡ码中的标识符也是被允许的,但是在使用不同的编辑工具时,容易出现编码问题
2关键字
python内置了一些特殊含义的标识符,被称为保留字或关键字,自定义标识符不能使用他们。
2组合数据类型
组合数据类型是编程中常见的数据存储方式。python组合数据类型包括列表,元组,字典和集合
2.1列表
列表是python中最常用的数据类型,是若干个元素的连续内存空间。列表的元素(又被称为数据项)可以是不同的类型。在形式上,列表是以方括号括起来的数据集合,不同元素间以逗号隔开。
列表是可变的。用户不仅可以在列表中任意增加元素或删除元素,还可以对列表进行遍历,排序,反转等操作。
2.1.1列表的访问
列表是有序的序列,要访问序列元素,可以先指出列表的名称,再使用[]标记指出元素的索引。列表正向索引从0开始,反向索引从-1开始,列表第一个元素索引是-len()
2.1.2列表的遍历
列表的元素,在内存中是连续存放的。列表创建后,逐一输出列表的元素称为列表的遍历。
- 使用for循环语句直接遍历
- 使用range()函数遍历列表
- 使用iter()函数遍历列表
- 使用enumerate()函数遍历列表
2.1.3列表的基本操作
- 列表的创建
- 使用[]符号创建列表
- 使用赋值语句创建列表
- 使用list( )函数创建列表
需要注意的是,python提供了list( )函数创建列表,可以将range对象,字符串,元组等数据转化为列表。空列表是不含有任何元素的列表,使用内置函数len()获取它的长度,返回结果为0.
- 列表的删除
使用del命令删除列表,在删除列表的同时,也删除了列表中的元素。
- 列表元素的增加
- 使用“+”运算符,将新列表元素加在原列表的尾部,一次可以添加一个或多个列表元素
- 使用切片赋值的方法为列表添加元素
- 使用append()方法为列表添加元素。这种方法是在元列表的尾部添加元素,一次只能加一个元素
- 使用extend()方法为列表增加元素。extend()方法可以在列表的末尾一次性追加另一个序列中的多个值,即可以用另一个列表扩展原来的列表
- 使用insert(x,y)方法为列表添加元素。参数x是插入的位置,参数是待插入的元素
- 列表元素的删除
- 使用del语句删除列表元素。
- 使用remove()方法删除列表元素。这种方法用于移除列表中某一个值得第一个匹配项,这里得匹配项是列表的值,而不是标号。
- 使用pop()方法删除列表元素。pop方法移除列表中的一个元素(默认是最后一个),并返回该元素的值。需要注意的是,pop()方法是唯一一个既能修改列表又能返回元素值得列表方法。使用pop方法可以实现一种常见得数据结构——栈。append方法表示入栈,pop表示出栈。
- 使用clear()方法清空列表中元素
- 列表元素得修改
python允许对列表元素进行修改或更新。如果对列表中任意元素重新赋值,就相当于修改
- 列表元素的其他常用方法和内置函数
1)count()方法
返回列表中得某个元素出现的次数
2)index方法
返回列表元素在列表中的序号,如果查找索引的元素不在列表中,则系统提示错误
3)sort()方法
将列表中的元素进行升序排序(要求类型一致且可排序,否则报错,其中字符型元素按照ASCⅡ值排序)
4)reverse()方法
将列表中的元素的顺序进行颠倒
5)copy()方法
复制列表。复制过程中,只复制一层变量,不会复制深层变量绑定的对象,当列表中元素是列表时,会导致嵌套的列表元素共享
6)len()方法
python内置函数,用于返回列表长度
7)sorted()函数
将列表元素进行升序排序
2.2元组
元组(Tuple)和列表类似,也是python的内置函数类型,但元组是由一系列变量组成的不可变序列容器,即元组在创建后不可以再添加,删除,修改元素
2.2.1元组的基本操作
- 元组的创建
- 使用"()"标记创建
- 使用tuple()函数创建元组,可以将range对象,字符串,列表等数据转换为列表
- 其他操作均与列表类似
2.2.2元组和列表的转换
- 元组和列表的区别
- 列表可变,可以随时修改和删除列表中的元素;而元组不可变,不能修改其中的元素
- 元组的访问速度更快,如果知识对元素进行遍历操作,建议使用元组
- 元组可以作为字典的键,而列表不可以。这是因为字典中的键是不可变的。
- 元组和列表的转
1)元组转列表
list1=list(tup1)
2)列表转元组
tup1=tiple(list1)
2.3字典
字典是由一系列"键:值"对组成的可变映射容器,其中键必须是唯一不可变的,可以使用字符串,数字,元组表示,而"值"可以是任意类型,通过唯一的"键"找到对应的值,字典常用于表示一一对应的关系。
2.3.1字典的基本操作
- 创建字典
- 利用{}标记创建。 例如dict={101:"小明",102:"小红",103:"小张"}
- 使用dict()函数创建字典。 例如dict=dict(name=“小张”,age=10)
- 使用zip()函数创建。 例如a=[...],b=[...],dict=dict(zip(a,b))
- 使用fromkeys()方法。例如dict={}.fromkeys(("a","b"),2)
- 删除字典 del命令
- 查找字典的值
根据字典的键查找对应的值 dict{101}
- 添加或修改字典的值
- 键存在就修改字典中的元素,键不存在就添加字典中的元素 例如dict{101}=“小明”
- 使用update()方法可以把另一个字典的元素追加到当前字典中。dict1.update(dict2)