分类
- 数值型
- int、float、complex、bool
- 序列对象
- 字符串 str
- 列表 list
- 元组 tuple
- 键值对
- 集合 set
- 字典 dict
数值型
数值型
- int、float、complex(复数)、bool、都是class(类),1、 5.0、2+3j都是对象即实例
- int:Python3的int就是长整型,且没有大小限制,受限于内存区域的大小
- float:由整数部分和小数部分组成。支持十进制和科学计数法表示,C语言的双精度实现
- complex:由实数和虚数部分组成,实数和虚数部分都是浮点数,2+4.2j
- bool:int的子类,仅有两个实例True、False对应1和0,可以和整数直接运算
类型转换(built-in(内置))
- int(x)返回一个整数
- float(x)返回一个浮点数
- complex(x)、complex(x,y)返回一个复数
- bool(x)返回布尔值
数字的处理函数
-
round(),五取偶、四舍,大于五入(六入)
-
math模块、floor()地板、天花板ceil()
-
int()、//
-
举例
import math print(math.floor(2.5),math.floor(2.4999),math.floor(2.50000)) #结果为:2 2 2 print(math.floor(-2.5),math.floor(-2.4999),math.floor(-2.50000)) #结果为:-3 -3 -3
import math print(math.ceil(2.5),math.ceil(2.4999),math.ceil(2.50000)) #结果为:3 3 3 print(math.ceil(-2.5),math.ceil(-2.4999),math.ceil(-2.50000))#结果为:-2 -2 -2
print(int(3.6),int(-2.5),int(-1.4))#结果为:3 -2 -1 print(int(3.6),int(2.5),int(1.4))#结果为:3 2 1 print(7//2,7//-2,-7//2,-(7//2))#结果为:3 -4 -4 -3 print(2//3,-2//3,-1//3)#结果为:0 -1 -1 print(round(2.5),round(2.5001),round(2.6))#结果为:2 3 3 print(round(3.5),round(3.5001),round(3.6),round(3.3))#结果为:4 4 4 3 print(round(-2.5),round(-2.5001),round(-2.6))#结果为:-2 -3 -3 print(round(-3.5),round(-3.5001),round(-3.6),round(-3.3))#结果为:-4 -4 -4 -3
-
上述例子表明一下规律:
- round(),四舍六入五取偶
- floor()向下取整,ceil()向上取整
- int()取整数部分
- //整除且向下取整
-
min()求最小值
-
max()求最大值
-
pow(x,y)等于x**y
-
math.sqrt() 求平方根
-
进制函数、返回值是字符串
- bin()转换为二进制
- oct()转换为八进制
- hex()转换为十六进制
-
math.pi 圆周率
-
math.e 自然常数
-
实例
print(min(3,5,2,6,2,3,7))#结果为:2
print(max(3,6,3,26,6))#结果为:26
print(pow(2,3))#结果为:8
print(math.sqrt(49))#结果为:7.0
print(bin(20))#结果为:0b10100
print(oct(23))#结果为:0o27
print(hex(64))#结果为:0x40
print(math.pi)#结果为:3.141592653589793
print(math.e)#结果为:2.718281828459045
类型判断
- type(obj),返回类型,而不是字符串(obj,object的缩写,目标)
- isinstance(obj,class_or_tuple),返回布尔值(isinstance可以判断子类)(instance,实例)
- 举例
print(type('abc'))#结果为:<class 'str'> print(type(123))#结果为:<class 'int'> print(isinstance(6,str))#结果为:False print(isinstance(6,(str,bool,int)))#结果为:True print(type(1+True))#结果为:<class 'int'> print(type(1+True+2.0))#结果为:<class 'float'>
type('abc')#结果为:str
print(1+True)#结果为:2
print(1+False)#结果为:1
- type(1+True+2.0)这里面包含了隐式转换,自动将1转换为1.0,True转换为1.0
列表list
- 一个队列,一个排列整齐的队伍
- 列表内的个体称作元素,由若干元素组成列表
- 元素可以是任意对象(数字、字符串、对象、列表等)
- 列表内元素有顺序,可以使用索引
- 线性的数据结构
- 使用 [ ] 表示
- 列表是可变的
- 同个列表的每个元素可以不同
- Python的列表是在C语言的基础上封装出来的
- 插队和移除某个元素的效率会很低
- 检索快
- 列表可以表示队列(queue)、栈(stack)
列表和链表
- 链表的存放是散乱的,检索某个元素必须从头到尾遍历,检索效率与列表相比较低,但是利于数据增删
- 列表的是将数据按一定的顺序存放在内存空间中,检索快,数据的增删效率较低
- 列表和链表、栈、队列都是有序的数据结构