彩虹然

rainbow-ran

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'>
'''
posted @ 2020-01-16 15:53  彩虹然  阅读(658)  评论(0编辑  收藏  举报