数据类型是一种值的集合以及定义在这种值上的一组操作。一切语言的基础都是数据结构,所以打好基础对于后面的学习会有百利而无一害的作用。
python内置的常用数据类型有:数字、字符串、Bytes、列表、元组、字典、集合、布尔等
想想设置这么多类型的原因是什么?
字、字符串、Bytes、列表、元组、字典、集合、布尔等
想想设置这么多类型的原因是什么?
1、在数据组织上方便统一管理,提供同样的方法去调用。区分数据类型,也和人们日常对事物的分类认识一致,便于人们从具体的对象抽象出统一的模式去处理数据。方便同样的数据用同样的方式去处理,限制非法操作的行为,便于数据的控制。
2、对于数据在内存和磁盘上的存储来说,节约了空间。假如不区分数据类型,所有的数据对象都必须按长度最大的数据对象去占用存储空间,浪费严重。有了数据类型,就按照类型预先定义的空间大小去组织存储,对于每种数据类型去合理分配大小,能提高空间使用率,以及存取速度和运行效率。
python的数据类型以是否可变,可分为可变类型和不可变类型,对于可变类型来说,操作一般涉及增、删、改、查,对于不可变类型,一般的操作只有查。
不可变类型:数字、字符串、bytes、元组
可变类型:列表、字典、集合
数字类型
用于存储数学上的值,比如整数、浮点数、复数等。数字类型在python中是不可变类型,意思是一个变量被赋予了一个不一样的数值之后就不再是原来的内存指向了,python是基于值得内存管理机制。
1.整数(Int)
通常称为整型,包括正数和负数,python3不在长度上区分整数的类型了,就是不再有长整型。
数字也有八进制和十六进制表示法:
十六进制:前缀0x和0-9,a-f表示,例如:0xff00
八进制:前缀0o和0-7表示,例如:0o17
Python的整数长度为32位,通常是连续分配的内存空间。Python初始化时会自动建立一个小整数对象池,-5到256之间,方便调用,避免后期重复生成。~
除了小整数对象池,Python还有整数缓冲区,就是刚被删除的整数,不会立即被删除回收,而是在后台缓冲一段时间,等待下次可能的调用.
例如:a = 3453453
print(id(a))---->内存编号33402576
del a#已经删除
b = 3453453 #将3453453赋值给b
print(id(b))----->内存编号33402576
2.浮点数(float)
浮点数就是小数,例如1.23,1.0等,一般很大或很小的浮点数,用科学计数法表示,把10用e表示,例如:1.23*10^9可以表示为1.23e10.
3.复数(complex)
复数由实数部分和虚数部分构成,例如a+bj,或者complex(a,b)。很少用到。
4.数字类型转换:
int(x):将x转换为整数,如果x是浮点数,保留整数部分,int中默认使用十进制,可以指定进制,将指定进制的数转化为十进制数。例如常用的2/8/16这三种进制,例如:int(“0b10”, 2)将二进数0吧0转化为十进制数输出,结果为2。
float(x):将x转化为浮点数
complex(x)或complex(x, y):很少用到
5.计算
除过+、-、*、/、**、//、%运算符之外,python还提供科学计算等库,例如math,导入math库后,常用的函数有:
abs(x):返回x的绝对值,类型随x
fabs(x):返回x的绝对值,类型是浮点数
ceil(x):取x的上入整数,如math.ceil(4.1)返回5
floor(x):取x的下入整数,如math.floor(4.9)返回4
round(x [,n]):默认返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的n位。例如round(1.23456, 3)返回1.235
exp(x):返回e的x次幂,e是自然常数
sqrt(x):返回x的平方根,返回值是float类型
modf(x):返回x的整数部分和小数部分,两部分的符号与x相同,整数部分以浮点型表示。例如math.modf(4.333),返回元组(0.3330000000000002, 4.0)
log10(x):返回以10为基数的x的对数,返回值类型是浮点数
log(x,y):返回以y为基数的x的对数,返回值类型是浮点数
pow(x, y):返回x的y次幂,即x**y
max(n1, n2, …):返回最大值
min(n1, n2, …):返回最小值