当前位置: 首页 > news >正文

math模块

转自:https://blog.csdn.net/zhtysw/article/details/79856835

math模块中定义了一些数学函数。由于这个模块属于编译系统自带,因此它可以被无条件调用。该模块还提供了与用标准C定义的数学函数的接口。

       要注意的是,这些函数无法应用于复数,但是在cmath模块中定义的同名函数可以支持复数运算,当然也会为此付出一定的性能代价。为什么会设置同名的函数却会有是否支持复数的区别,这是因为大多数用户完全不需要复数方面的操作,因此对于他们来讲,理解函数就会有不必要的麻烦。接受一个例外而不是一个复数结果使得参数被设置为复数这个意外更加容易被察觉,那么编程者就可以再次确认以下为什么要定义并在这里产生它。

       以下的函数是该模块所提供的。除非明确指出,否则所有返回值都是浮点数。

1. 数论函数和表示函数

math. ceil(x)

       返回x的最大值,这个最大值是大于或等于x的最小整数。如果x不是浮点数的话,将使用x.__ceil__()替代返回一个整数值。

 

math. copysign(x, y)

       返回一个浮点数,该浮点数的绝对值与x相同,正负性与y相同。如果运行平台支持带符号的零,copysign(1.0, -0.0)将会返回-1.0.

 

math. factorial(x)

       返回x的绝对值。

 

math. factorial(x)

       返回x的阶乘值。如果x不是整数或者为负数,抛出ValueError。

 

math. floor(x)

       返回x的最小值,该最小值为小于等于x的最大整数。

 

math. fmod(x, y)

       按照平台C库的定义返回fmod(x,y)。请注意,Python表达式x%y可能不会返回相同的结果。标准C的意图是对于某个整数n,fmod(x,y)完全(在数学上达到无限精度)等于x-n * y,使得结果的符号与x相同,幅度小于abs(Y)。Python的x%y返回一个带有y的符号的结果,并且对于float参数可能不是完全可计算的。例如,fmod(-1e-100,1e100)是-1e-100,但是Python的-1e-100%1e100的结果是1e100-1e-100,它不能完全表示为浮点数,并且令人惊讶1e100。出于这个原因,函数fmod()在使用浮点数时通常是首选,而在使用整数时,Python的x%y是首选。

 

math. frexp(x)

       以(m, e)数对的形式返回x的尾数和指数。m是一个浮点数,而e是一个整数,其类似于x == m*2**e。如果x是0,返回(0.0, 0);否则,0.5<=abs(m)<1。该函数使得分解浮点数的内部表达形式变得简单高效。

 

math.fsum(iterable)

       将可迭代对象iterable内的元素值精确地相加在一起,返回一个浮点数形式的和。该函数可以有效避免浮点数求和时的精度损失。

>>>sum([.1, .1, .1, .1, .1, .1, .1, .1, .1, .1])

0.9999999999999999

>>>fsum([.1, .1, .1, .1, .1, .1, .1, .1, .1, .1])

1.0

 

math. gcd(a,b)

       返回整数a与b的最大公约数。如果a与b都为非零值,该函数的返回值是可以同时整除a与b的最大正整数。gcd(0, 0)的值为0。

 

math. isclose(a, b, *,rel_tol=1e-09, abs=0.0)

       如果a与b彼此相近的程度满足rel_tol(相对精度,按比例算,以a与b绝对值较大的为标准1)与abs_tol(绝对精度,按数值差算)规定的精度(那个容许的范围大,以哪个为评判标准),那么返回True;否则返回False。

 

math. isfinite(x)

       如果x不是无穷数或NaN,返回True。

 

math. isinf(x)

       如果x是正无穷或负无穷,返回True。

 

math. isnan(x)

       如果x是NaN,返回True。

 

math. ldexp(x, i)

       返回x*(2**i)的值。

 

math. modf(x)

       返回x的小数部分和整数部分。两个值都为浮点数格式,且带有x的符号。

 

math. trunc(x)

       将实数x截断为一个Integral格式的数(通常为整数格式)。

 

2.幂函数和对数函数

math. exp(x)

       返回e**x

 

math. expml(x)

       返回e**x – 1。该函数对小浮点数x提供了良好的精度参照。

 

math. log(x[, base])

       base若为给出,求以e为底的x的对数;base给出,则以base为底。

 

math. logl[(x)

       返回以e为底1+x的对数,该函数对于近似于0的x值有较高精度。

 

math. log2(x)

       返回以2为底的x的对数。

 

math. log10(x)

       返回以10为底x的对数。

 

math. pow(x, y)

       返回x**y的值。

 

math. sqrt(x)

       返回x的平方根。

 

3.三角函数

math. acos(x)

       返回x的反余弦值,以弧度形式,下面也相同。

 

math. asin(x)

       返回x的反正弦值。

 

math. atan(x)

       返回x的反正切值。

 

math. atan2(y, x)

       返回atan(y/x),结果在[-pi,pi]之内。

 

math. cos(x)

       返回x弧度的余弦值。

 

math. hypot(x, y)

       返回点(x, y)到原点的距离。

 

math. sin(x)

       返回x弧度的正弦值。

 

math. tan(x)

       返回x弧度的正切值。

 

4.角度转换

math. degrees(x)

       将弧度值x转化为角度值。

 

math. radians(x)

       将角度值x转化为弧度值。

 

5. 双曲函数

       双曲函数是基于圆的三角函数在双曲线上的类比。

math. acosh(x)

       返回x的反双曲余弦值。

 

math. asinh(x)

       返回x的反双曲正弦值。

 

math. atanh(x)

       返回x的反双曲正切值。

 

math. cosh(x)

       返回x的双曲余弦值。

 

math. sinh(x)

       返回x的双曲正弦值。

 

math. tanh(x)

       返回x的双曲正切值。

 

6. 特殊函数

math. erf(x)

       返回x处的error函数。其可用于计算传统统计函数。

 

math. erfc(x)

       返回x处的补充错误函数.

 

math. gamma(x)

       返回x处的Gamma函数。

 

math. lgamma(x)

       返回x处Gamma函数绝对值的自然对数。

 

7. 常量

math. pi

       pi即为圆周率常量。

 

math. e

       e即为自然底数,e=2.718281…

 

math. tau

       数字常量T = 6.283185…

 

math. inf

       浮点格式的正无穷。

 

math. nan

       浮点格式的非数字值。

转载于:https://www.cnblogs.com/langqi250/p/10854797.html

相关文章:

  • cs6.8-oracle挂载ceph
  • centos7二进制安装mysql8.0.16
  • PHP应用如何对接微信公众号JSAPI支付
  • Leetcode 11 - Container With Most Water
  • Oracle 12c:ORA-28040
  • 002-QC的使用
  • JavaScript 函数式编程技巧 - 反柯里化
  • 线程池没你想的那么简单
  • 第九周总结
  • 聊聊Dubbo(九):核心源码-服务端启动流程2
  • Nginx和Apache
  • 重学ES6 Set 数据结构(2)
  • webpack treeshking的三个要点
  • 安装固态硬盘,小米笔记本13.3
  • 利用requests库访问360主页20次
  • [笔记] php常见简单功能及函数
  • Map集合、散列表、红黑树介绍
  • Netty 4.1 源代码学习:线程模型
  • oschina
  • 短视频宝贝=慢?阿里巴巴工程师这样秒开短视频
  • 漂亮刷新控件-iOS
  • 容器服务kubernetes弹性伸缩高级用法
  • 入门级的git使用指北
  • 王永庆:技术创新改变教育未来
  • 一道闭包题引发的思考
  • 直播平台建设千万不要忘记流媒体服务器的存在 ...
  • ​LeetCode解法汇总1410. HTML 实体解析器
  • # Swust 12th acm 邀请赛# [ E ] 01 String [题解]
  • (4)(4.6) Triducer
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (C语言)共用体union的用法举例
  • (C语言)字符分类函数
  • (免费领源码)Python#MySQL图书馆管理系统071718-计算机毕业设计项目选题推荐
  • (亲测)设​置​m​y​e​c​l​i​p​s​e​打​开​默​认​工​作​空​间...
  • (十一)c52学习之旅-动态数码管
  • (一)Linux+Windows下安装ffmpeg
  • (一)Neo4j下载安装以及初次使用
  • (已解决)vue+element-ui实现个人中心,仿照原神
  • (终章)[图像识别]13.OpenCV案例 自定义训练集分类器物体检测
  • (转)nsfocus-绿盟科技笔试题目
  • (转)shell中括号的特殊用法 linux if多条件判断
  • (转)使用VMware vSphere标准交换机设置网络连接
  • (转载)在C#用WM_COPYDATA消息来实现两个进程之间传递数据
  • 、写入Shellcode到注册表上线
  • ..回顾17,展望18
  • .net core 微服务_.NET Core 3.0中用 Code-First 方式创建 gRPC 服务与客户端
  • ;号自动换行
  • [20161101]rman备份与数据文件变化7.txt
  • [2021]Zookeeper getAcl命令未授权访问漏洞概述与解决
  • [Android] 240204批量生成联系人,短信,通话记录的APK
  • [codeforces]Levko and Permutation
  • [Deepin 15] 编译安装 MySQL-5.6.35
  • [Dxperience.8.*]报表预览控件PrintControl设置
  • [JavaWeb]——过滤器filter与拦截器Interceptor的使用、执行过程、区别
  • [Latex学习笔记]数学公式基本命令