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
7

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。

Python中math模块的使用相关推荐

  1. python中math模块函数_Python常用的一些内建函数和math模块函数

    一:Python内建函数 1 #abs取绝对值 2 num = -10 3 print(abs(num))4 5 #max 求最大值 6 print(max(6, 9, 2, 12, 8))7 8 # ...

  2. C语言大数阶乘取余,python中math模块常用函数介绍 取模(取余)取绝对值 求阶乘 求最大公约数最小公倍数 取对数 取根号 取幂(取次方) 取整函数 三角函数与反三角函数...

    前提:import math 两个常用常量 e = 2.718281828459045 pi = 3.141592653589793 >>> import math >> ...

  3. python中math模块

    math库是python的内置数学类函数库,支持整数和浮点数运算 math模块下的函数,返回值均为浮点数,除非有说明 math常用方法 1.math.ceil()向上取整 import math pr ...

  4. python中math模块函数_python中math模块函数

    Python Math 函数必须import math 功能说明指令範例返回x 的反余弦math.acos(x) 返回x 的反双曲余弦math.acosh(x) 返回x 的反正弦math.asin(x ...

  5. python中 math模块下 atan 和 atan2的区别

    atan 和 atan2 都是反正切函数,返回的都是弧度 对于两点形成的直线,两点分别是 point(x1,y1) 和 point(x2,y2),其斜率对应角度的计算方法可以是: angle = at ...

  6. Python中各个模块的介绍和使用

    北京 | 高性能计算之GPU CUDA课程11月24-26日3天密集学习 快速带你晋级阅读全文> 作者,许胜利,Python开发工程师,任职于上海某财富管理有限公司. 在Python中有一个概念 ...

  7. python中heapq的库是什么_详解Python中heapq模块的用法

    详解Python中heapq模块的用法 来源:中文源码网    浏览: 次    日期:2018年9月2日 [下载文档:  详解Python中heapq模块的用法.txt ] (友情提示:右键点上行t ...

  8. python用于导入模块或模块中的对象_在 Python 中导入模块中的对象有哪几种方式? (5.0分)_学小易找答案...

    [判断题]尽管可以使用 import 语句一次导入任意多个标准库或扩展库,但是仍建议每次只导入一个标准库或扩展库. (2.0分) [填空题]表达式 int(str(34)) == 34 的值为 ___ ...

  9. python sys模块作用_浅谈Python中的模块

    模块 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式.在Python中,一个.py文件就称之为一个模块(Mod ...

最新文章

  1. 中小企业市场 一些超级IT企业的动向
  2. Python中的 __name__属性的含义和作用
  3. Shell笔记9——Shell数组的应用实践
  4. Spring学习笔记15--注解Bean
  5. php记录网站访问,PHP简单实现记录网站访问量的功能
  6. 分布式事务最终一致看这篇“大白话”的实践
  7. java对docker_如何在docker中运行java程序
  8. Apache2.2.21安装图解
  9. JVM 性能调优监控工具
  10. MacOs中Docker与宿主机网络互通问题解决
  11. 大数据分析-实验五 pdfminer
  12. python读文件的方法open,file,with open
  13. 在商业化这件事上,百度Apollo智能车联究竟做得怎么样了?
  14. java 夏令时jvm设置问题
  15. python创建通讯录_python实现简易通讯录修改版
  16. oracle ogg是什么
  17. 以下名字 不能作为c语言标识符的是,(完整版)《C语言程序设计》复习参考答案...
  18. 人活到了30岁,月薪还停留在20岁怎么办?
  19. ACW3302表达式求值
  20. 在css中设置font-family:微软雅黑却不生效问题

热门文章

  1. 动态规划( python)
  2. Unity应用架构设计(10)——绕不开的协程和多线程(Part 1)
  3. Cocos2d-x3.1TestCpp之NewRenderTest Demo分析
  4. 线段树 + 字符串Hash - Codeforces 580E Kefa and Watch
  5. 开发了一套python的七牛sdk
  6. 类加载是为了执行静态方法
  7. Nginx的location配置详解
  8. 容器编排技术 -- Kubernetes 调试 Service
  9. MAC下 Intellij IDEA GO语言插件安装及简单案例
  10. ogg mysql表结构不一致_OGG-01163 Bad column表结构一致、trail文件meta不一致处理