Python3 教程 第12页
math 模块 描述 Python math.fmod(x, y) 方法返回 x/y 的余数。 语法 math.fmod() 方法语法如下: math.fmod(x, y) 参数说明: x — 必需,正数或负数。被除数。如果 x 不是一个数字,返回 TypeError。 y — 必需,正数或负数。除数。如果 y 不是一个数字,返回 TypeError。 注意:如果 x 和 y = 0,则返回 ValueError。 注意:如果 y = 0,则返回 ValueError。 注意:如果 x 或 y 不是数字,则返回 TypeError。 返回值 一个浮点值,表示 x/y 的余数 实例 以下实例计算余数: # 导入 math 包 import math # 计算余数 print(math.fmod(20, 4)) print(math.fmod(20, 3)) print(math.fmod(15, 6)) print(math.fmod(-10, 3)) # 报错,ValueError: math domain error print(math.fmod(0, 0)) 尝试一下 输出结果: 0.0 2.0 3.0 -1.0 Traceback (most recent call last): File "/Users/RUNOOB/runoob-test/test.py", line 9, in <module> print(math.fmod(0, 0)) ValueError: math domain error math 模块
math 模块 描述 math.frexp(x) 方法以 (m, e) 对的形式返回 x 的尾数和指数。 该方法的数学公式为: number = m * 2**e。 语法 math.frexp() 方法语法如下: math.frexp(x) 参数说明: x — 必需,正数或负数。如果 x 不是一个数字,返回 TypeError。 返回值 一个元组,以 (m, e) 对的形式返回 x 的尾数和指数。 实例 以下实例计算一个数的尾数和指数: # 导入 math 包 import math # 返回数字的尾数和指数 print(math.frexp(4)) print(math.frexp(-4)) print(math.frexp(7)) 尝试一下 输出结果: (0.5, 3) (-0.5, 3) (0.875, 3) math 模块
math 模块 描述 math.fsum(iterable) 方法计算可迭代对象 (元组, 数组, 列表, 等)中的元素的总和。 语法 math.fsum() 方法语法如下: math.fsum(iterable) 参数说明: iterable — 必需,可迭代对象,可以是列表、元组、数组。如果可迭代对象元素不是数字,返回 TypeError。 返回值 一个浮点值,表示可迭代对象中所有元素的总和。 实例 以下实例计算所有元素的总和: # 导入 math 包 import math # 计算所有元素的总和 print(math.fsum([1, 2, 3, 4, 5])) print(math.fsum([100, 400, 340, 500])) print(math.fsum([1.7, 0.3, 1.5, 4.5])) 尝试一下 输出结果: 15.0 1340.0 8.0 math 模块
math 模块 描述 math.gamma(x) 方法返回 x 处的伽玛函数(Gamma 函数)。 伽玛函数,也叫欧拉第二积分,是阶乘函数在实数与复数上扩展的一类函数。 要查找数字的对数伽玛值,请使用 math.lgamma() 方法。 本函数只在python3.2以上有效! 语法 math.gamma() 方法语法如下: math.gamma(x) 参数说明: x — 必需,数字。如果数字是负整数,则返回 ValueError。 如果不是数字,则返回 TypeError。 返回值 一个浮点值,表示表示 x 处的伽玛函数。 实例 以下实例计算不同数的伽玛函数: # 导入 math 包 import math # 计算不同数的伽玛函数 print(math.gamma(-0.1)) print(math.gamma(8)) print(math.gamma(1.2)) print(math.gamma(80)) print(math.gamma(-0.55)) 尝试一下 输出结果: -10.686287021193193 5040.0 0.9181687423997604 8.946182130782976e+116 -3.578429819277059 math 模块
math 模块 描述 math.gcd() 方法返回给定的整数参数的最大公约数。 gcd(0,0) 返回 0。 本函数要求最低版本为Python 3.5 在 3.9 版更改: 添加了对任意数量的参数的支持,之前的版本只支持两个参数。 语法 math.gcd() 方法语法如下: math.gcd(*integers) 参数说明: *integers — 必需,数字。如果 x 不是一个数字,返回 TypeError。 在python3.9之前,只能传入两个参数,python3.9之后可以传入多个参数 返回值 返回一个整数 int,表示两个或多个整数的最大公约数 (GCD)。 实例 以下实例返回数字的最大公约数: # 导入 math 包 import math # 输出最大公约数 print (math.gcd(3, 6)) print (math.gcd(6, 12)) print (math.gcd(12, 36)) print (math.gcd(-12, -36)) print (math.gcd(5, 12)) print (math.gcd(10, 0)) print (math.gcd(0, 34)) print (math.gcd(0, 0)) 输出结果: 3 6 12 12 1 10 34 0 math 模块
math 模块 描述 math.hypot() 方法返回欧几里得范数。 欧几里得范数是从原点到给定坐标的距离。 欧几里得度量又称为欧几里得距离,指的是欧几里得空间中两点间”普通”(即直线)距离。 在 Python 3.8 之前,此方法用于查找直角三角形的斜边:sqrt(x*x + y*y)。 从 Python 3.8 开始,此方法也用于计算欧几里得范数。 对于 n 维情况,假定传递的坐标类似于 (x1, x2, x3, …, xn),从原点开始的欧几里得长度由 sqrt(x1*x1 + x2*x2 +x3*x3 …. xn*xn) 计算。 本函数要求的最低python版本:Python3.8 语法 math.hypot() 方法语法如下: math.hypot(x1, x2, x3, ..., xn) 参数说明: x1, x2, x3, …, xn — 必需,表示多个坐标点。 返回值 一个浮点值,表示 n 个输入到原点的欧几里得距离,或两个输入的直角三角形的斜边 实例 以下实例计算直角三角形的斜边: # 导入 math 包 import math # 设置垂直线和底边 parendicular = 10 base = 5 # 输出直角三角形的斜边 print(math.hypot(parendicular, base)) 输出结果: 11.180339887498949 以下实例计算给定坐标的欧几里得范数: # 导入 math 包 import math # 输出给定坐标的欧几里得范数 print(math.hypot(10, 2, 4, 13)) print(math.hypot(4, 7, 8)) print(math.hypot(12, 14)) 输出结果: 17.0 11.357816691600547 18.439088914585774 math 模块
math 模块 描述 math.isclose() 方法返回用于检查两个值是否彼此接近,如果值接近,则返回 True,否则返回 False。 math.isclose() 根据给定的绝对和相对容差确定两个值是否被认为是接近的。 计算公式为: abs(a-b) <= max(rel_tol * max(abs(a), abs(b)), abs_tol) 本方法要求python版本至少为:Python 3.5 语法 math.isclose() 方法语法如下: math.isclose(a, b, *, rel_tol=1e-09, abs_tol=0.0) 参数说明: a — 必需,数字。如果 x 不是一个数字,返回 TypeError。如果值为 0 或负数,则返回 ValueError。 b — 必需,数字。如果 x 不是一个数字,返回 TypeError。如果值为 0 或负数,则返回 ValueError。 rel_tol — 是相对容差,它是 a 和 b 之间允许的最大差值,相对于 a 或 b 的较大绝对值。例如,要设置5%的容差,请传递 rel_tol=0.05 。默认容差为 1e-09,确保两个值在大约9位十进制数字内相同。 rel_tol 必须大于零。 abs_tol — 是最小绝对容差,对于接近零的比较很有用。 abs_tol 必须至少为零。 返回值 返回一个布尔值,检查两个值是否彼此接近,如果值接近,则返回 True,否则返回 False。 实例 以下实例检查两个值是否彼此接近: # 导入 math 包 import math # 输出两个值是否接近 print(math.isclose(8.005, 8.450, abs_tol = 0.4)) print(math.isclose(8.005, 8.450, abs_tol = 0.5)) 尝试一下 输出结果: False True 以下实例检查两个浮点数是否接近: # 导入 math 包 import math # 可用于浮点数判断 # 这样会输出 false,0.1+0.2 不会等于 0.3 print(0.1+0.2 == 0.3) print(0.1+0.2 ) # 这样会输出 true print(math.isclose(0.1+0.2, 0.3)) 尝试一下 输出结果: False 0.30000000000000004 True ...
math 模块 描述 math.isfinite() 方法判断 x 是否有限,如果 x 既不是无穷大也不是 NaN,则返回 True ,否则返回 False 。 该函数要求的python版本最低为Python3.2 语法 math.isfinite() 方法语法如下: math.isfinite(x) 参数说明: x — 必需,数字。如果 x 不是一个数字,返回 TypeError。 返回值 返回一个布尔值,如果 x 既不是无穷大也不是 NaN,则返回 True ,否则返回 False 。 实例 以下实例检查数字是否有限: # 导入 math 包 import math # 检查数字是否有限 print(math.isfinite(2000)) print(math.isfinite(-45.34)) print(math.isfinite(+45.34)) print(math.isfinite(math.inf)) print(math.isfinite(float("nan"))) print(math.isfinite(float("inf"))) print(math.isfinite(float("-inf"))) print(math.isfinite(-math.inf)) print(math.isfinite(0.0)) 尝试一下 输出结果: True True True False False False False False True math 模块
math 模块 描述 math.isinf() 方法判断 x 是否是无穷大,如果 x 是正或负无穷大,则返回 True ,否则返回 False 。 语法 math.isinf() 方法语法如下: math.isinf(x) 参数说明: x — 必需,数字。如果 x 不是一个数字,返回 TypeError。 返回值 返回一个布尔值,如果 x 是正或负无穷大,则返回 True ,否则返回 False 。 实例 以下实例检查数字是否是无穷大: # 导入 math 包 import math # 检查数字是否是无穷大 print(math.isinf(56)) print(math.isinf(-45.34)) print(math.isinf(+45.34)) print(math.isinf(math.inf)) print(math.isinf(float("nan"))) print(math.isinf(float("inf"))) print(math.isinf(float("-inf"))) print(math.isinf(-math.inf)) 尝试一下 输出结果: False False False True False True True True math 模块
math 模块 描述 math.isnan() 方法判断数字是否为 NaN(非数字),如果数字是 NaN(不是数字),则返回 True ,否则返回 False 。 该函数要求python版本至少为Python3.5! 语法 math.isnan() 方法语法如下: math.isnan(x) 参数说明: x — 必需,数字。如果 x 不是一个数字,返回 TypeError。 返回值 返回一个布尔值,如果数字是 NaN(不是数字),则返回 True ,否则返回 False 。 实例 以下实例检查数字是否是 NaN(不是数字): # 导入 math 包 import math # 检查数字是否为 NaN print (math.isnan (56)) print (math.isnan (-45.34)) print (math.isnan (+45.34)) print (math.isnan (math.inf)) print (math.isnan (float("nan"))) print (math.isnan (float("inf"))) print (math.isnan (float("-inf"))) print (math.isnan (math.nan)) 尝试一下 输出结果: False False False False True False False True math 模块