Python基础复习:数字类型及操作

梦想的初衷 提交于 2020-03-10 05:02:30

Python语言中包含三种数字类型

  1. 整数类型
  2. 浮点数类型
  3. 复数类型

整数类型

  • 与数学中的整数概念一致,没有取值范围限制
  • 整数类型有四种表示形式:
    十进制:1010,99,-217
    十六进制:0x9a,-0x89(以0x,0X开头)
    二进制:0b010,-0B010(以0b,0B开头)
    八进制:0o123,0O456(以0o,0O开头)

浮点数类型

  • 与数学中实数的概念一直,指带有小数点及小数的数字。
  • Python中浮点数的数值范围存在限制,但常规计算可忽略。
  • 取值范围数量级约为-10308至10308(与计算机系统有关)
    ,精度数量级为10-16

查看浮点数精度:

import sys
sys.float_info

科学计数法:使用‘e’或者‘E’作为幂符号,以10为基数。例如(a)e(b) = a*10b

浮点数的不确定尾数问题:

  • 浮点数运算存在不确定尾数,不是bug。
  • Python中用53位二进制表示小数部分,约10-16。由于二进制与十进制之间并不是完全对等的关系,因此在转换时会出现不确定尾数,大概在第16位小数。
  • 可以使用round(x,d)函数进行四舍五入,保证浮点数的计算精度。

复数类型

  • 与数学中的概念一致,z = a +bj,a是实数部分,b是虚数部分,a、b都是浮点数,虚数部分用j或J表示。
  • z.real获得实数部分
  • z.imag获得虚数部分

数值运算操作符

一元运算操作符

操作符及使用 描述
x + y 加,x与y之和
x - y 减,x与y之差
x * y 积,x与y之积
x / y 除,x与y之商 10/3的结果为3.3333333
x // y 整除,x与y的整数商 10//3的结果为3
+ x x本身
- y y的负值
x % y 余数,模运算 10%3 = 1
x ** y 幂运算,x的y次幂

二元运算操作符

x op == y 即x = x op y,其中op为二元操作符
x += y;x-=y;x*=y;x/=y;x//=y;x%=y;x**=y

数值运算函数

函数及使用 描述
abs(x) 绝对值,x的绝对值。abs(-10.1)结果为10.1
divmod(x) 商余,(x//y,x%y) ,同时输出商数和余数
pow(x,y[,z] ) 幂余,(x**y)%z
round(x[,d]) 四舍五入,d是保留的小数,默认为0
max(x1,x2,…,xn) 返回最大值
int(x) 将x变成整数,舍弃小数部分。
float(x) 将x变成浮点数,增加小数部分。
complex(x) 将x变成复数,增加虚数部分。

数值类型混合计算

  • 三种类型存在一种扩展关系: 整数–>浮点数–>复数 (整数是浮点数的特例,浮点数是复数的特例。)
  • 不同数字类型间可以进行混合运算,运算后生成结果最宽的类型。
  • 例如123+4.0=127.0(整数+浮点数=浮点数)
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!