返回顶部
首页 > 资讯 > 后端开发 > Python >Python中非常实用的Math模块函数教程详解
  • 549
分享到

Python中非常实用的Math模块函数教程详解

2024-04-02 19:04:59 549人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录math模块常数1. 圆周率2. Tau (τ)3. 欧拉数4. 无限5. 不是数字算术函数1. factorial()2. ceil()3. floor()4. trunc()

由于该math模块与 python 版本一起打包,因此您不必单独安装它,直接导入:


import math

math模块常数

Pythonmath模块提供了多种预定义常量。访问这些常量提供了几个优点。一方面,您不必手动将它们硬编码到您的应用程序中,这为您节省了大量时间。另外,它们在整个代码中提供一致性。该模块包括几个著名的数学常数和重要值:

圆周率π

Tau (τ)

欧拉数e

无限

不是数字 (NaN)

1. 圆周率

Pi (π) 是圆的周长 ( c ) 与其直径 ( d )的比值:

π = c/d
对于任何圆,该比率始终相同。

Pi 是一个无理数,这意味着它不能表示为一个简单的分数。因此,pi 的小数位数是无限的,但可以近似为 22/7,即 3.141。

您可以按如下方式访问 pi:


>>> math.pi
3.141592653589793

如您所见,在 Python 中 pi 值保留为小数点后十五位。提供的位数取决于底层 C 编译器。Python 默认打印前 15 位数字,并math.pi始终返回一个浮点值。

那么 pi 可以通过哪些方式对您有用呢?您可以使用 2π r计算圆的周长,其中r是圆的半径:


>>> r = 3
>>> circumference = 2 * math.pi * r
>>> f"Circumference of a Circle = 2 * {math.pi:.4} * {r} = {circumference:.4}"
'Circumference of a Circle = 2 * 3.142 * 3 = 18.85'

您可以使用它math.pi来计算圆的周长。您还可以使用公式 π r ²计算圆的面积,如下所示:


>>> r = 5
>>> area = math.pi * r * r
>>> f"Area of a Circle = {math.pi:.4} * {r} * {r} = {area:.4}"
'Area of a Circle = 3.142 * 5 * 5 = 78.54'

2. Tau (τ)

Tau (τ) 是圆的周长与其半径的比值。这个常数等于 2π,或大约 6.28。与 pi 一样,tau 是一个无理数,因为它只是 pi 乘以 2。

许多数学表达式使用 2π,而使用 tau 可以帮助简化方程。例如,我们可以用 tau 代替 tau 并使用更简单的方程 τ r,而不是用 2π r计算圆的周长。

然而,使用 tau 作为圆常数仍存在争议。您可以根据需要自由使用 2π 或 τ。

您可以使用 tau 如下:


>>> math.tau
6.283185307179586

像math.pi,math.tau返回十五位数字并且是一个浮点值。您可以使用 tau 计算具有 τ r的圆的周长,其中r是半径,如下所示:


>>> r = 3
>>> circumference = math.tau * r
>>> f"Circumference of a Circle = {math.tau:.4} * {r} = {circumference:.4}"
'Circumference of a Circle = 6.283 * 3 = 18.85'

您可以使用math.tau代替2 * math.pi来整理包含表达式 2π 的方程。

3. 欧拉数

欧拉数 ( e ) 是一个常数,它是自然对数的底数,自然对数是一种常用于计算增长率或衰减率的数学函数。与 pi 和 tau 一样,欧拉数是一个具有无限小数位的无理数。e的值通常近似为 2.718。

欧拉数是一个重要的常数,因为它有许多实际用途,例如计算人口随时间的增长或确定放射性衰变率。您可以从math模块中访问欧拉数,如下所示:


>>> math.e
2.718281828459045

 

4. 无限

无穷大不能由数字定义。相反,它是一个数学概念,代表永无止境或无限的事物。无穷大可以朝任一方向发展,正向或负向。

当您想将给定值与绝对最大值或最小值进行比较时,您可以在算法中使用无穷大。

Python中正无穷大和负无穷大的取值如下:


>>> f"Positive Infinity = {math.inf}"
'Positive Infinity = inf'
>>> f"Negative Infinity = {-math.inf}"
'Negative Infinity = -inf'

无穷大不是数值。相反,它被定义为math.inf. Python 在 3.5 版中引入了这个常量,相当于float(“inf”):


>>> float("inf") == math.inf
True

既float(“inf”)和math.inf表示无穷大的概念,使得math.inf大于任何数值:


>>> x = 1e308
>>> math.inf > x
True

上面代码中,math.inf大于x10 308(浮点数的最大大小)的值,为双精度数。

同样,-math.inf小于任何值:


>>> y = -1e308
>>> y > -math.inf
True

负无穷小于 的值y,即 -10 308。没有数字可以大于无穷大或小于负无穷大。这就是为什么数学运算 withmath.inf不会改变无穷大的值:


>>> math.inf + 1e308
inf
>>> math.inf / 1e308
inf

5. 不是数字

不是数字或 NaN 并不是真正的数学概念。它起源于计算机科学领域,作为对非数字值的引用。NaN值可以是由于无效的输入,或者它可以指示一个变量即应该是数值已经由文本字符或符号损坏。

检查值是否为 NaN 始终是最佳实践。如果是,那么它可能会导致您的程序中出现无效值。Python 在 3.5 版本中引入了 NaN 常量。

您可以观察以下值math.nan:


>>> math.nan
nan

NaN 不是数值。你可以看到,价值math.nan是nan,相同的值float(“nan”)。

算术函数

1. factorial()

仅仅为了得到一个数的阶乘而实现自己的函数既耗时又低效。更好的方法是使用math.factorial().。

以下是如何使用 找到数字的阶乘math.factorial():


>>> math.factorial(7)
5040

2. ceil()

math.ceil()将返回大于或等于给定数字的最小整数值。如果数字是正小数或负小数,则函数将返回下一个大于给定值的整数值。

例如,输入 5.43 将返回值 6,输入 -12.43 将返回值 -12。math.ceil()可以将正实数或负实数作为输入值,并且将始终返回整数值。

当您向 输入整数值时ceil(),它将返回相同的数字:


>>> math.ceil(6)
6
>>> math.ceil(-11)
-11

3. floor()

floor()将返回小于或等于给定数字的最接近的整数值。此函数的行为与 相反ceil()。例如,输入 8.72 将返回 8,输入 -12.34 将返回 -13。floor()可以将正数或负数作为输入,并返回一个整数值。

如果您输入一个整数值,则该函数将返回相同的值:


>>> math.floor(4)
4
>>> math.floor(-17)
-17

4. trunc()

当您得到一个带小数点的数字时,您可能只想保留整数部分并消除小数部分。该math模块有一个被调用的函数trunc(),它可以让你做到这一点。

删除十进制值是一种四舍五入。使用trunc(),负数总是向上舍入到零,正数总是向下舍入到零。

以下是该trunc()函数如何舍入正数或负数:


>>> math.trunc(12.32)
12
>>> math.trunc(-43.24)
-43

5. isclose()

例如,采用以下一组数字:2.32、2.33 和 2.331。当你用两个小数点来衡量接近度时,2.32 和 2.33 是接近的。但实际上,2.33 和 2.331 更接近。因此,亲近是一个相对的概念。如果没有某种阈值,您就无法确定接近度。

幸运的是,该math模块提供了一个名为的函数isclose(),可让您为接近度设置自己的阈值或容忍度。它返回True如果两个数字是你建立亲密,否则返回公差范围内False。

让我们看看如何使用默认容差比较两个数字:

  • 相对容差或rel_tol是相对于输入值的幅度被认为“接近”的最大差异。这是公差的百分比。默认值为 1e-09 或 0.000000001。
  • 绝对容差或abs_tol是被视为“接近”的最大差异,而不管输入值的大小。默认值为 0.0。

isclose使用上面的表达式来确定两个数字的接近程度。您可以替换自己的值并观察任何两个数字是否接近。

在以下情况下,6 和 7不接近:


>>> math.isclose(6, 7)
False

数字 6 和 7 不被视为接近,因为相对容差设置为九位小数。但是,如果你输入6.999999999和7相同的误差下,那么他们被认为是接近:


>>> math.isclose(6.999999999, 7)
True

幂函数

power 函数将任何数字x作为输入,将x提高到某个n 次幂,然后返回x n作为输出。

Python 的math模块提供了几个与幂的功能。在本节中,您将了解幂函数、指数函数和平方根函数。

您可以使用math.pow()来获取数字的幂。math.pow() 需要两个参数,第一个参数是基值,第二个参数是幂值。


>>> math.pow(2, 5)
32.0
>>> math.pow(5, 2.4)
47.59134846789696

1. exp()

math模块提供了一个函数 ,exp()可让您计算数字的自然指数。

您可以按如下方式找到该值:


>>> math.exp(21)
1318815734.4832146
>>> math.exp(-1.2)
0.30119421191220214

2. 对数函数

log()有两个论点。第一个是强制性的,第二个是可选的。使用一个参数,您可以获得输入数字的自然对数(以e为底):


>>> math.log(4)
1.3862943611198906
>>> math.log(3.4)
1.2237754316221157

math模块还提供了两个单独的函数,可让您计算以 2 和 10 为底的对数值:

log2() 用于计算以 2 为底的对数值。

log10() 用于计算以 10 为底的对数值。


>>> math.log2(math.pi)
1.6514961294723187
>>> math.log(math.pi, 2)
1.651496129472319

>>> math.log10(math.pi)
0.4971498726941338
>>> math.log(math.pi, 10)
0.4971498726941338

其他重要的math模块功能

math.GCd():计算两个数字的最大公约数;

math.fsum():在不使用循环的情况下找到可迭代值的总和;

math.sqrt():求任何正实数(整数或小数)的平方根;

math.radians():返回度数输入的弧度值;

math.degrees():将弧度转换为度数;

math.sin()math.cos()math.tan():计算正弦、余弦、正切;

以上就是Python中非常实用的Math模块函数教程详解的详细内容,更多关于Math模块函数的资料请关注编程网其它相关文章!

--结束END--

本文标题: Python中非常实用的Math模块函数教程详解

本文链接: https://lsjlt.com/news/155579.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python中非常实用的Math模块函数教程详解
    目录math模块常数1. 圆周率2. Tau (τ)3. 欧拉数4. 无限5. 不是数字算术函数1. factorial()2. ceil()3. floor()4. trunc()...
    99+
    2024-04-02
  • Python的math模块中的常用数学函数整理
    在数学之中,除了加减乘除四则运算之外——这是小学数学——还有其它更多的运算,比如乘方、开方、对数运算等等,要实现这些运算,需要用到 Python 中的一个模块:Math 模块(module)是 Python...
    99+
    2022-06-04
    函数 模块 常用
  • 在python中导入math模块中的函数
    python中导入math模块函数的方法:在python中可使用import关键字导入math模块中的函数,语法:“import 模块名”,该关键字主要是用来动态加载类和函数。具体操作步骤:在win系统的开始菜单中找到python程序。在p...
    99+
    2024-04-02
  • Python模块glob函数示例详解教程
    目录本文大纲支持4个常用的通配符1)glob()函数2)iglob()函数3)escape()函数总结本文大纲 glob模块也是Python标准库中一个重要的模块,主要用来查找符合特...
    99+
    2024-04-02
  • python模块shutil函数应用示例详解教程
    目录本文大纲知识串讲1)模块导入2)复制文件3)复制文件夹4)移动文件或文件夹5)删除文件夹(慎用)6)创建和解压压缩包本文大纲 os模块是Python标准库中一个重要的模块,里面提...
    99+
    2024-04-02
  • Python中functools模块的常用函数解析
    1.partial 首先是partial函数,它可以重新绑定函数的可选参数,生成一个callable的partial对象: >>> int('10') # 实际上等同于int('10'...
    99+
    2022-06-04
    函数 模块 常用
  • Python中非常好用的内置函数详解
    目录Counter举例实战sortedallF-strings总结 Python中冷门但非常好用的内置函数 Counter举例 实战sortedallF-strings Pytho...
    99+
    2024-04-02
  • Python中itertools模块的使用教程详解
    目录itertools模块的介绍无限迭代器(Infinite Iterators)组合迭代器(Combinatoric Iterators)有限迭代器(Iterators Termi...
    99+
    2024-04-02
  • Python函数式编程中itertools模块详解
    目录容器与可迭代对象count() 函数cycle 函数repeat 函数enumerate 函数,添加序号accumulate 函数chain 与 groupby 函数zip_lo...
    99+
    2024-04-02
  • 分享3个非常实用的 Python 模块
    目录一、Psutil二、Pendulum三、Pyfiglet一、Psutil Python当中的Psutil模块是个跨平台库,它能够轻松获取系统运行的进程和系统利用率,包括CPU、内...
    99+
    2024-04-02
  • C++详细讲解常用math函数的用法
    目录1、fabs(double x)2、floor(double x)ceil(double x)3、pow(double x,double n)4、sqrt(double x)5、...
    99+
    2024-04-02
  • Python中groupby函数详解(非常容易懂)
    目录:Python中的groupby函数 一、groupby 能做什么?二、单类分组2.1 创建数据集 三、多类分组 一、groupby 能做什么? groupby函数主要的作用是进行...
    99+
    2023-09-12
    python pandas groupby
  • 非常实用的MySQL函数全面总结详解示例分析教程
    目录1.MySQL中关于函数的说明2.单行函数分类3.字符函数4.数学函数5.日期时间函数6.其它常用系统函数7.流程控制函数8.聚合函数1)聚合函数的功能和分类;2)聚合函数的简单...
    99+
    2024-04-02
  • Python常用内置函数的使用教程详解
    目录导言一、abs()二、aiter()函数三、all()函数四、anext()五、any()函数六、ascii()函数导言 Python官方文档对于内置函数的介绍较为简略...
    99+
    2023-05-14
    Python常用内置函数使用 Python常用内置函数 Python 内置函数
  • 如何理解Python常用模块中常用内置函数
    如何理解Python常用模块中常用内置函数,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Python作为计算机语言中常用的语言,它具有十分强大的功能,但是你知道...
    99+
    2023-06-17
  • Python内置模块Collections的使用教程详解
    目录1、模块说明2、 实战代码(1) testNamedTuple函数(2) testDeque函数(3)testDefaultdict函数(4) testOrderedDict函数...
    99+
    2024-04-02
  • 关于Python OS模块常用文件/目录函数详解
    模块:包含定义函数和变量的python文件,可以被别的程序引入。 os模块是操作系统接口模块,提供了一些方便使用操作系统相关功能函数,这里介绍下os模块中对于文件/目录常用函数和使用方法。 返回当前文件目录:get...
    99+
    2022-06-02
    Python OS模块文件目录 Python OS模块函数
  • Python学习之sys模块使用教程详解
    sys模块 与 os包一样,也是对系统资源进行调用。功能同样也是非常丰富,接下来我们会对 sys模块的一些简单且常用的函数进行介绍,主要针对一些非功能性的函数与属性来认识一些不太常见...
    99+
    2024-04-02
  • python copy模块中的函数实例用法
    1、copy.copy()函数可用于复制列表或字典等可变值,复制后的列表和原列表是两个独立的列表。 import copy origin = [1,2,3] new = copy...
    99+
    2024-04-02
  • Python函数和模块的使用详情
    目录一、定义函数二、函数的参数三、用模块管理函数四、变量的作用域 一、定义函数 在Python中可以使用def关键字来定义函数,命名规则跟变量的命名规则是一致的。在函数名后...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作