数据类型

数据类型

  • 整数类型
  • 浮点数类型
  • 复数类型
  • 数值运算操作符
  • 数值运算函数

整数类型

与数学中整数的概念一致

  • 可正可负,没有取值范围限制
  • pow(x,y)函数:计算多大算多大
pow(2,10) # 1024
pow(2,pow(2,5)) # 4294967296

四种进制表示形式

  • 十进制:1010,99,-21
  • 二进制:以0b或0B开头:0b0001, -0B0101
  • 八进制:以0o或0O开头:0o123, -0O234
  • 十六进制:以0x或0X开头:0x5a, -0X4b

关于python整数,就需要知道这些:

  • 整数无限制pow()
  • 4种进制表示形式

浮点数类型

与数学种实数的概念一致

  • 带有小数点及小数的数字
  • 浮点数取值范围和小数精度都存在限制,但常规计算可忽略
  • 取值范围数量级约-10^308 至 10^308 ,精度数量级10^-16

浮点数间云山存在不确定位数,不是bug

0.1 + 0.3  # 0.4
0.1 + 0.2  # 0.30000000000000004
  • 0.1:53位二进制表示小数部分,约10^-16

二进制表示小数,可以无限接近,但不完全相同。

round(0.1+0,2,1) = 0.3

round()函数

  • round(x,d):对x四舍五入,d是小数截取位数
  • 浮点数间运算及比较用round()函数辅助
  • 不确定尾数一般发生在10^16左右,round()

科学计数法表示浮点数

关于Python浮点数,需要知道多些:

  • 取值范围和精度基本无限制
  • 运算存在不确定位数round()
  • 科学计数法表示

复数类型

​ z = a+bi

  • 获得实部 z.real
  • 获得虚部 z.imag

数值运算操作符

一元操作符

操作符是完成运算的一种符号体系

操作符及使用 描述
x+y 加,x与y之和
x-y 减,x与y之差
x*y 乘,x与y之积
x / y 除,x与y之商 10/3 结果是3.3333333333333335
x // y 整数除,x与y之整数商 10//3 结果是3
+ x x本身
- y x的负值
x % y 余数,模运算,10%3 结果是1
x ** y 幂运算,x的y次幂,xyxy,当y是小数时,开放运算,10\*\*0.5结果是10−−√

二元操作符

二元操作符有对应的增强赋值操作符

增强操作符及使用 描述
x op= y x = x op y,其中,op为二元操作符

二元操作符有以下这些:x += yx -= yx *= yx /= yx // yx %= yx **= y

x = 3.1415
x **= 3  # 与 x = x **3 等价  # 31.003533398375005

数字类型的关系

类型间可进行混合运算,生成结果为"最宽"类型

  • 三种类型存在一种逐渐"扩展"或"变宽"的关系:整数 -> 浮点数 -> 复数
  • 例如:123 + 4.0 = 127.0(整数+浮点数 = 浮点数)

数值运算函数

一些以函数形式提供的数值运算功能

函数及使用 描述
abs(x) 绝对值,x的绝对值,abs(-10.01) 结果为 10.01
divmod(x,y) 商余,(x//y, x%y),同时输出商和余数,divmod(10, 3) 结果为 (3, 1)
pow(x, y[, z]) 幂余,(x**y)%z,[..]表示参数z可省略,pow(3, pow(3, 99), 10000) 结果为 4587
round(x[, d]) 四舍五入,d是保留小数位数,默认值为0,round(-10.123, 2) 结果为 -10.12
max(x1,x2,⋯,xn) 最大值,返回x1,x2,⋯,xnx1,x2,⋯,xn中的最大值,n不限,max(1, 9, 5, 4 3) 结果为 9
min(x1,x2,⋯,xn) 最小值,返回x1,x2,⋯,xnx1,x2,⋯,xn中的最小值,n不限,min(1, 9, 5, 4 3) 结果为 1
int(x) 将x变成整数,舍弃小数部分,int(123.45) 结果为123; int("123") 结果为123
float(x) 将x变成浮点数,增加小数部分,float(12) 结果为12.0; float("1.23") 结果为1.23
complex(x) 将x变成复数,增加虚数部分,complex(4) 结果为 4 + 0j

小结

  • 整数类型的无限范围及4种进制表示
  • 浮点数类型的近似无限范围、小尾数及科学计数法
  • +、-、*、/、//、%、**、二元增强赋值操作符
  • abs()、divmod()、pow()、round()、max()、min()
  • int()、float()、complex()
posted @ 2019-07-16 14:58  SweetJack  阅读(240)  评论(0编辑  收藏  举报