【python @ 小甲鱼网课】 P2数字类型 & decimal

【python @ 小甲鱼网课】 P2数字类型 & decimal,第1张

python 数字类型
  • 简述
  • 整数
  • 小数
  • 复数
  • 数值计算

简述

python 有三种不同的数字类型:整数、浮点数、复数。


整数
  • 长度不限制,可以做无限制的运算

小数
  • 小数由于存放标准按照 IEEE754 标准,存在误差,所以在python中,会发现 0.3 != 0.2+0.1:
print(0.3 == 0.2+0.1)
print(0.2+0.1)

打印结果:


如何使得 0.3 = 0.2+0.1 ?
引入 decimal

import decimal
a = decimal.Decimal("0.1")
b = decimal.Decimal("0.2")
print("a+b=",a+b)
print(a+b == 0.3)

打印结果为什么还是 false?:


打印 a+b 的数字类型以及 0.3 的数字类型:

print(type(a+b))
print(type(0.3))

打印结果:

发现一个是 decimal 类型 (a+b),一个是 float 类型 (0.3)


所以我们要把 0.3 也转换成 decimal 类型或者把 decimal 类型转换成 float ?
尝试一:把 decimal 类型转换成 float :

c = float(a+b)
print(type(c))
print(type(0.3))
print(c==0.3)

成功:

尝试二:把 0.3 转换成 decimal:

c = decimal.Decimal("0.3")
print(c==a+b)

成功:


复数

复数格式: a+bj
其中 a 称为实部,b 称为虚部。

x = 1+2j
print(x.real)   # 打印实部
print(x.imag)	# 打印虚部

结果:


数值计算
符号运算
//取比目标结果小的最大整数
%取余
divmod(a,b)返回 (a//b, a%b)
abs(a)返回 a 的绝对值,取复数的摸
int(a)取 a 的整数部分
complex()转化为复数
pow(a,b)计算 a 的 b 次方
a ** b计算 a 的 b 次方
pow(a,b,c)a^b%c

范例:

print(3//2)
print(3%2)
print(abs(-2))
print(abs(1+2j))
print(int(5.9))
print(complex("1+2j"))
print(2 ** 3)
print(pow(2,3))
print(pow(2,3,5))

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/875620.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)

保存