前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python中math模块的使用

Python中math模块的使用

作者头像
用户7886150
修改2020-12-24 10:21:07
1.1K0
修改2020-12-24 10:21:07
举报
文章被收录于专栏:bit哲学院

参考链接: 在Python中重新加载模块

Python中math模块的使用 

Python 的 math 模块实现了许多数学运算函数。 

这些函数大部分的返回结果是浮点数,在代码中,浮点数小数点后面的位数是有限的,而二进制表示小数时很有可能会出现无限循环的小数,因此浮点数会有精度损失,不过,大多数情况下这并不影响我们使用。 

math模块是Python的内置模块,不需要pip安装,直接导入即可使用。 

math 模块中,一种数学运算对应一个函数,在我们使用时非常方便,按需求调用即可。 

一、取整运算 

# coding=utf-8

import math

# 去掉小数

print(math.floor(6.78))

print(math.trunc(6.78))

# 进一

print(math.ceil(6.78)) 

运行结果: 

6

6

floor(x)返回小于x的最大整数,trunc(x)将x的小数部分归0,这两个方法的运算结果是相同的。 

ceil(x)返回大于x的最小整数,也可以叫“进一法”。 

二、常用数学计算 

# 绝对值

print(math.fabs(-77))

# 取余

print(math.fmod(11, 3))

# 求和

print(math.fsum([1, 2, 3, 4, 5, 6, 7]))

print(math.fsum((1, 2, 3, 4, 5, 6, 7)))

# 最大公约数

print(math.gcd(24, 16))

# 勾股定律

print(math.hypot(3, 4))

# n的阶乘

print(math.factorial(4)) 

运行结果: 

77.0

2.0

28.0

28.0

8

5.0

24 

fabs(x)返回x的绝对值,结果是一个浮点数。 

fmod(x, y)返回x除y后的余数。 

fsum(iter)返回可迭代对象中的数据求和的浮点数结果。可迭代对象可以是列表,元组,字典,集合,可迭代对象中的元素必须是数字。对字典进行计算时,是计算键的和,键必须是数字。 

gcd(x, y)返回x和y的最大公约数,返回值是整数。 

hypot(x, y)返回x平方与y平方求和再开根的数字,这个计算类似勾股定律中根据两条直角边计算斜边。返回结果是浮点数。 

factorial(x)返回x的阶乘,返回结果是整数。如果传入值不是正整数则会报错。 

三、乘方运算 

print(math.e)

# e的多少次方

print(math.exp(2))

# e的多少次方减一

print(math.expm1(2))

# 返回a 乘2的b次方

print(math.ldexp(1, 4))

print(math.pow(2, 5)) 

运行结果: 

2.718281828459045

7.38905609893065

6.38905609893065

16.0

32.0 

math.e返回数学常数,自然对数的底数e的值。 

exp(x)返回e的x次方。 

expm1(x)返回e的x次方减一。 

ldexp(x, y)返回x乘2的y次方,结果是浮点数。 

pow(x, y)返回x的y次方,结果是浮点数。 

四、开方运算 

# 开平方根

print(math.sqrt(100))

print(math.log(16, 2))

print(math.log(math.exp(5)))

print(math.log10(100))

print(math.log2(8))

print(math.log1p(math.expm1(3))) 

运行结果: 

10.0

4.0

5.0

2.0

3.0

3.0 

sqrt(x)返回x开平方的结果,结果是浮点数。 

log(x, y)返回y为底数,x的对数,如果不指定y, 则默认的底数为自然对数的底数e, 相当于数学中的ln(x),返回结果为浮点数。 

log10(x)返回10为底数,x的对数,结果是浮点数。 

log2(x)返回2为底数,x的对数,结果是浮点数。 

log1p(x)返回e为底数,x+1的对数,相当于ln(x+1),结果是浮点数。 

细心的您应该可以发现,开方运算方法与上面的乘方运算方法互为逆运算。 

五、三角函数计算 

print(math.pi)

print(math.sin(math.pi / 6))

print(math.cos(math.pi / 3))

print(math.tan(math.pi / 4))

# 将弧度制转成数字角度

print(math.degrees(math.pi))

# 反之

print(math.radians(180)) 

运行结果: 

3.141592653589793

0.49999999999999994

0.5000000000000001

0.9999999999999999

180.0

3.141592653589793 

math.pi返回圆周率π的值。 

sin(x)返回x的sin值,x表示一个角度。 

cos(x)返回x的cos值,x表示一个角度。 

tan(x)返回x的tan值,x表示一个角度。 

degrees(x)将一个弧度制的角度(如2π),转换成0到360度之间的度数值,返回一个浮点数, x是一个弧度制角度。 

radians(x)是degrees()的逆运算,将一个度数表示的角度值转换成弧度制的角度(0~2π),x是一个度数数字。 

六、其他运算 

# 不是数字返回true

print(math.isnan(100))

# 返回是不是无穷大的数

print(math.isfinite(100))

print(math.isinf(100)) 

运行结果: 

False

True

False 

isnan(x)返回x是不是数字,不是数字返回True,是数字返回False。 

isfinite(x)返回x是不是一个无穷大的数,正或者负无穷,如果不是无穷大返回True,是无穷大返回False。 

isinf(x)与isfinite(x)相反,如果不是无穷大返回False,是无穷大返回True。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档