Python3.7之基本数据类型
一、整型
python3里不再有long类型,全部都是int类型。如果整数发生溢出,python会自动将整数数据转换为长整数(没有限制数值大小,但实际上由于机器内存有限,不可能无限大。)
bool类型:布尔类型是整型的子类,只有True和False两个值。
布尔值为FALSE的情况:None,False(布尔类型),所有值为0的数,空字符串“ ”,空列表[],空元组(),空字典{},空集合set()。
二、浮点型
python默认的是17位精度,也就是小数点后16位,尽管有16位,但是这个精确度却是越往后越不准的,超过精度的数字无意义。
三、字符串
字符串是一个有序的字符的集合,按照从左到右的顺序定义字符集合,下标从0开始顺序访问。
四、列表
按照从左到右的顺序定义列表元素,下标从零开始顺序访问,有序。
可修改指定索引位置对应的值,可变。
五、元组
元组被称为只读列表,即数据可以被查询,但不能被修改。与列表类似,只不过[]改成(),不可修改指定索引位置对应的值,不可变。
如果元组中还包含其他可变元素,这些可变元素可以改变。
六、字典
字典是python中唯一的映射类型。
key-value结构,key必须可hash,且必须为不可变数据类型,必须唯一;可存放任意多个值,值可修改,值可以不唯一。
python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的。但是在3.6版本后,字典开始是有序的,这是新的版本特征。
字典的key值可以是整型,字符串,元组,但是不可以是列表,集合,字典。
七、集合
集合存在的意义就在于去重和关系运算。
无序,如集合{3,4,5}和集合{3,5,4}算作同一个集合。集合中的元素必须是不可变类型(可hash)
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
parame = {value01,value02,...}
# 或者
set(value)
八、可变与不可变,有序与无序
不可变数据类型: 当该数据类型的对应变量的值发生了改变,那么它对应的内存地址也会发生改变,对于这种数据类型,就称不可变数据类型。
可变数据类型:当该数据类型的对应变量的值发生了改变,那么它对应的内存地址不发生改变,对于这种数据类型,就称可变数据类型。
不可变数据类型更改后地址发生改变,可变数据类型更改地址不发生改变
不可变数据类型:整型、字符串、元组 有序:字符串,列表,元组
可变数据类型:列表,集合,字典 无序:集合、字典
总结:
数字不可变
字符串有序不可变
列表有序可变
字典无序(3.6版本后有序)可变
元组有序不可变
集合无序可变
九、type()
type()用来查看数据类型方法。
a = 2**64
print(type(a))
'''
<class 'int'>
'''