math库部分函数

目录

math库导入

平方根函数

圆周率常数

最小公倍数函数

最大公约函数

阶乘函数


math库导入

import关键字用于输入一个库

有两种导入方式

1.import math     # 引用库中函数时函数名前需加math.:

2.from math import * # 一个或多个逗号分隔的函数或用*导入全部函数

# 引用库中函数时不需要加math.

整理一下我目前学过的math函数

平方根函数

math.sqrt(x)可返回x的正数平方根,x可为整数或浮点数

圆周率常数

math.pi 表示圆周率常数,值为3.141592653589793 程序中应用此常数可保证多人协作时圆周率精度保持一致

最小公倍数函数

math.lcm(*integers) 返回给定的整数参数的最小公倍数。 如果所有参数均非零,则返回值将是为所有参数的整数倍的最小正整数。 如果参数之一为零,则返回值为 0。 不带参数的 lcm() 返回 1。

最大公约函数

math.gcd(*integers) 返回给定的整数参数的最大公约数。 如果有一个参数非零,则返回值将是能同时整除所有参数的最大正整数。 如果所有参数为零,则返回值为 0。 不带参数的 gcd() 返回 0。

阶乘函数

math.factorial(x) 以一个整数返回 x 的阶乘。 如果 x 不是整数或为负数时则将引发 ValueError。

<think>我们被要求提供Pythonmath中自带的函数列表和功能说明。根据引用[1]和[3],mathPython的标准,提供了一系列数学函数。注意,这些函数不适用于复数(复数需使用cmath模块)。我们将按照功能分类列出math中常用的函数,并给出简要说明。这里主要参考Python官方文档(以Python3.9为例,但大多数函数在早期版本中也有)。注意:使用这些函数前,需要先导入math模块:`importmath`下面分类列出函数:一、数论与表示函数1.`math.ceil(x)`:返回x的上限,即大于或等于x的最小整数。2.`math.floor(x)`:返回x的下限,即小于或等于x的最大整数。3.`math.fabs(x)`:返回x的绝对值(浮点数)。注意,内置函数`abs()`也可用于浮点数,但`math.fabs(x)`总是返回浮点数。4.`math.fmod(x,y)`:返回`x%y`(取模)。注意,对于浮点数,`%`运算符可能不精确,而`fmod`更精确。5.`math.frexp(x)`:将x分解为尾数(m)和指数(n),使得`x=m*2**n`,其中0.5<=abs(m)<1。返回元组(m,n)。6.`math.ldexp(x,i)`:`x*(2**i)`,是`frexp`的反函数。7.`math.modf(x)`:返回x的小数部分和整数部分,返回元组(小数部分,整数部分),两个部分都是浮点数。8.`math.trunc(x)`:返回x截断为整数(向0取整)。等同于内置函数`int()`的行为。二、幂函数与对数函数1.`math.pow(x,y)`:返回x的y次幂,即$x^y$。2.`math.sqrt(x)`:返回x的平方根,$\sqrt{x}$。3.`math.exp(x)`:返回e的x次幂,$e^x$。4.`math.expm1(x)`:返回`exp(x)-1`,对于小的x,这个函数提供更高的精度。5.`math.log(x[,base])`:返回x的对数。如果提供base,则返回以base为底的对数;否则返回自然对数(以e为底)。6.`math.log1p(x)`:返回`1+x`的自然对数(以e为底)。用于当x接近0时提供更精确的值。7.`math.log2(x)`:返回以2为底的对数。8.`math.log10(x)`:返回以10为底的对数。三、三角函数(角度单位为弧度)1.`math.sin(x)`:返回x弧度的正弦值。2.`math.cos(x)`:返回x弧度的余弦值。3.`math.tan(x)`:返回x弧度的正切值。4.`math.asin(x)`:返回x的反正弦值(弧度),x在[-1,1]之间。5.`math.acos(x)`:返回x的反余弦值(弧度),x在[-1,1]之间。6.`math.atan(x)`:返回x的反正切值(弧度)。7.`math.atan2(y,x)`:返回`atan(y/x)`(弧度),结果在[-π,π]之间。考虑象限。四、角度转换1.`math.degrees(x)`:将弧度x转换为角度。2.`math.radians(x)`:将角度x转换为弧度。五、双曲函数1.`math.sinh(x)`:返回x的双曲正弦值。2.`math.cosh(x)`:返回x的双曲余弦值。3.`math.tanh(x)`:返回x的双曲正切值。4.`math.asinh(x)`:返回x的反双曲正弦值。5.`math.acosh(x)`:返回x的反双曲余弦值。6.`math.atanh(x)`:返回x的反双曲正切值。六、常数1.`math.pi`:数学常数π(圆周率),约等于3.141592653589793。2.`math.e`:数学常数e(自然对数的底),约等于2.718281828459045。3.`math.tau`:数学常数τ(2π),约等于6.283185307179586(Python3.6+)。4.`math.inf`:浮点正无穷大(Python3.5+)。5.`math.nan`:浮点“非数字”(NaN)值(Python3.5+)。七、其他1.`math.gamma(x)`:返回x处的Gamma函数值(Python3.2+)。2.`math.lgamma(x)`:返回Gamma函数在x处的绝对值的自然对数(Python3.2+)。3.`math.erf(x)`:返回x处的误差函数Python3.2+)。4.`math.erfc(x)`:返回x处的互补误差函数Python3.2+)。5.`math.factorial(x)`:返回x的阶乘(整数)。x必须是非负整数。6.`math.isclose(a,b,*,rel_tol=1e-09,abs_tol=0.0)`:检查a和b是否接近(Python3.5+)。7.`math.isfinite(x)`:如果x既不是无穷大也不是NaN,则返回True(Python3.2+)。8.`math.isinf(x)`:如果x是正无穷或负无穷,则返回True。9.`math.isnan(x)`:如果x是NaN,则返回True。10.`math.gcd(*integers)`:返回给定整数的最大公约数(Python3.5+支持多个参数,3.9+支持多参数)。11.`math.lcm(*integers)`:返回给定整数的最小公倍数Python3.9+)。12.`math.dist(p,q)`:返回两点p和q之间的欧几里得距离(Python3.8+)。13.`math.hypot(*coordinates)`:返回欧几里得范数(即直角三角形的斜边)。对于多个坐标,计算各坐标平方和的平方根(Python3.8+支持多维)。14.`math.comb(n,k)`:返回从n个中取k个的组合数(Python3.8+)。15.`math.perm(n,k=None)`:返回从n个中取k个的排列数(Python3.8+)。注意:以上列表基于Python3.9,部分函数在早期版本中可能不存在。请根据实际使用的Python版本参考官方文档。由于函数较多,我们只列出了常用的函数。更详细的说明请参考官方文档[^1][^3]。下面我们生成相关问题。</think>### Python math 函数列表与功能说明 以下是 Python `math` 标准的核心函数分类整理,包含功能说明和数学表达式格式。所有函数均需通过 `import math` 导入后使用(不支持复数,复数运算需用 `cmath` 模块)[^3]。 --- #### **一、基本数学运算** | 函数 | 说明 | 数学表达式 | |------|------|------------| | `math.fabs(x)` | 绝对值 | $ \|x\| $ | | `math.copysign(x, y)` | 取 y 的符号 + x 的绝对值 | $ \text{sign}(y) \times \|x\| $ | | `math.fmod(x, y)` | 浮点数取模 | $ x - y \times \lfloor x/y \rfloor $ | | `math.remainder(x, y)` | IEEE 754 标准余数 | 满足 $ x = n \times y + r $ | | `math.fsum(iterable)` | 精确浮点数求和 | $ \sum_{i=1}^{n} x_i $ | | `math.gcd(*integers)` | 最大公约数 | $ \gcd(a,b,\cdots) $ | | `math.lcm(*integers)` | 最小公倍数 | $ \text{lcm}(a,b,\cdots) $ | --- #### **二、幂函数与对数函数** | 函数 | 说明 | 数学表达式 | |------|------|------------| | `math.pow(x, y)` | x 的 y 次幂 | $ x^y $ | | `math.sqrt(x)` | 平方根 | $ \sqrt{x} $ | | `math.exp(x)` | e 的 x 次幂 | $ e^x $ | | `math.expm1(x)` | $ e^x - 1 $ (高精度) | $ e^x - 1 $ | | `math.log(x[, base])` | 对数(默认 e 为底) | $ \log_{\text{base}} x $ | | `math.log1p(x)` | $\ln(1+x)$ (高精度) | $ \ln(1+x) $ | | `math.log2(x)` | 以 2 为底对数 | $ \log_2 x $ | | `math.log10(x)` | 以 10 为底对数 | $ \log_{10} x $ | --- #### **三、三角函数(弧度制)** | 函数 | 说明 | 数学表达式 | |------|------|------------| | `math.sin(x)` | 正弦 | $ \sin x $ | | `math.cos(x)` | 余弦 | $ \cos x $ | | `math.tan(x)` | 正切 | $ \tan x $ | | `math.asin(x)` | 反正弦 | $ \arcsin x $ | | `math.acos(x)` | 反余弦 | $ \arccos x $ | | `math.atan(x)` | 反正切 | $ \arctan x $ | | `math.atan2(y, x)` | 两点间夹角 | $ \arctan(\frac{y}{x}) $ | ```python import math angle = math.atan2(3, 4) # 计算点(4,3)与x轴夹角 print(math.degrees(angle)) # 输出: ≈36.87° ``` --- #### **四、双曲函数** | 函数 | 说明 | 数学表达式 | |------|------|------------| | `math.sinh(x)` | 双曲正弦 | $ \sinh x = \frac{e^x - e^{-x}}{2} $ | | `math.cosh(x)` | 双曲余弦 | $ \cosh x = \frac{e^x + e^{-x}}{2} $ | | `math.tanh(x)` | 双曲正切 | $ \tanh x = \frac{\sinh x}{\cosh x} $ | | `math.asinh(x)` | 反双曲正弦 | $ \text{arsinh}\,x $ | | `math.acosh(x)` | 反双曲余弦 | $ \text{arcosh}\,x $ | | `math.atanh(x)` | 反双曲正切 | $ \text{artanh}\,x $ | --- #### **五、特殊函数** | 函数 | 说明 | 数学表达式 | |------|------|------------| | `math.gamma(x)` | Gamma 函数 | $ \Gamma(x) = \int_0^\infty t^{x-1}e^{-t}dt $ | | `math.lgamma(x)` | Gamma 对数 | $ \ln(\|\Gamma(x)\|) $ | | `math.erf(x)` | 误差函数 | $ \text{erf}(x) = \frac{2}{\sqrt{\pi}} \int_0^x e^{-t^2} dt $ | | `math.erfc(x)` | 互补误差函数 | $ \text{erfc}(x) = 1 - \text{erf}(x) $ | | `math.factorial(n)` | 阶乘 | $ n! $ | --- #### **六、常数与辅助函数** | 函数/常量 | 值/功能 | 说明 | |-----------|---------|------| | `math.pi` | $ \pi \approx 3.141592653589793 $ | 圆周率 | | `math.e` | $ e \approx 2.718281828459045 $ | 自然常数 | | `math.tau` | $ \tau = 2\pi \approx 6.283185 $ | 圆周率2倍 | | `math.inf` | $ \infty $ | 正无穷 | | `math.nan` | `NaN` | 非数字 | | `math.isclose(a, b)` | 浮点数近似判断 | $ \|a-b\| \leq \max(\text{tol}) $ | | `math.isfinite(x)` | 判断有限数 | $ x \in \mathbb{R} $ | | `math.isinf(x)` | 判断无穷大 | $ x = \pm\infty $ | | `math.isnan(x)` | 判断非数字 | $ x = \text{NaN} $ | --- #### **七、数值处理函数** | 函数 | 说明 | 示例 | |------|------|------| | `math.ceil(x)` | 向上取整 | $ \lceil 3.2 \rceil = 4 $ | | `math.floor(x)` | 向下取整 | $ \lfloor 3.8 \rfloor = 3 $ | | `math.trunc(x)` | 截断小数 | $ \text{trunc}(-4.7) = -4 $ | | `math.modf(x)` | 分离整数和小数 | $ \text{modf}(3.14) \to (0.14, 3.0) $ | | `math.frexp(x)` | 科学计数法分解 | $ x = m \times 2^e $ | | `math.ldexp(x, i)` | $ x \times 2^i $ | `math.ldexp(0.5, 3) = 4.0` | --- > **注意**: > 1. 所有三角函数使用**弧度制**,角度转换用 `math.radians()`/`math.degrees()`[^1]。 > 2. 阶乘函数 `math.factorial(n)` 仅接受**非负整数**[^4]。 > 3. 完整列表参考 [Python 官方文档](https://docs.python.org/3/library/math.html)[^3]。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值