python之数字类型

1 python数字类型简介

  Python 有三种不同的数字类型,分别是:整数、浮点数和复数。

2 整数

  Python 的整数长度是不受限制的,也就是说它是有无限大的精度。所以,可以随时随地的进行大数运算:

>>> 1112234579121621 / 11235813213455
98.99012719343793

3 浮点数

  由于浮点数在计算机中的存储是存在 “误差” 的,所以有时候可能会闹出一些 “BUG”:

>>> 0.1 + 0.2
0.30000000000000004

  由于浮点数并不是 100% 精确的,所以我们拿浮点数来做比较就要特别小心了:

>>> 0.3 == 0.1 + 0.2
False

4 精确计算浮点数

  可以利用 decimal 模块来实现浮点数的精确计算。

>>> import decimal
>>> a = decimal.Decimal('0.1')
>>> b = decimal.Decimal('0.2')
>>> print(a + b)
0.3

5 E 记法

  E 记法也就是科学计数法,用于表示一些比较极端的数。

>>> x = 0.00005
>>> x
5e-05

6 复数

  复数包含了一个实部和一个虚部:

>>> x = 1 + 2j
>>> x
(1+2j)

  它们都是以浮点数的形式存放的,如果将一个复数赋值给一个变量 x,则可以通过 x.real 访问该复数的实部,x.imag 访问其虚部:

>>> x = 1 + 2j
>>> x.real
1.0
>>> x.imag
2.0

7 数字运算

  Python 支持的数字运算如下:
在这里插入图片描述

8 四则运算

>>> 1 + 2
3
>>> 1 - 2
-1
>>> 1 * 2
2
>>> 1 / 2
0.5

9 地板除

  双斜杠(//)表示一种特殊的除法 —— 地板除
  地板除原理是取比目标结果小的最大整数

>>> 3 // 2
1
>>> -3 // 2
-2

  地板除的结果乘以除数 + 余数 = 被除数:

x == (x // y) * y + (x % y)

10 取余

  百分号(%)用于求两数相除的余数,如果能够整除,则余数为 0:

>>> 3 % 2
1
>>> 6 % 2
0

11 divmod() 函数

  Python 有个内置函数叫 divmod(),它的作用就是同时求出两参数地板除的结果和余数:

>>> divmod(3, 2)
(1, 1)
>>> divmod(-3, 2)
(-2, 1)

12 abs() 函数

  abs() 函数的作用是返回指定数值的绝对值:

>>> x = -520
>>> abs(x)
520
>>> y = -3.14
>>> abs(y)
3.14

  如果传入的是一个复数,abs()函数返回的结果就是复数的模:

>>> z = 3 + 4j
>>> abs(z)
5.0

13 int(),float() 和 complex() 函数

  int() 函数是将指定的值转换成整数,比如我们传入一个字符串 ‘520’,那么得到结果就是一个整数 520:

>>> int('520')
520

  不过如果参数是一个浮点数,那么就要注意了,因为它得到的将是一个截掉小数的整数:

>>> int(3.14)
3
>>> int(9.99)
9

注意:它是直接截取整数部分,扔掉小数部分,而不是四舍五入。
  同样的道理,float()complex() 函数是将指定的值转换成浮点数和复数。

14 pow() 函数和幂运算符(**)

  通常情况下,pow() 函数和幂运算符(**)这两个实现的效果是等价的:

>>> pow(2, 3)
8
>>> 2 ** 3
8
>>> pow(2, -3)
0.125
>>> 2 ** -3
0.125

  不过,pow() 函数还留有一手,它支持第 3 个参数。

>>> pow(2, 3, 5)
3

相当于:

>>> 2 ** 3 % 5
3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Roar冷颜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值