官方文档:https://docs.python.org/zh-cn/3/library/math.html
(一)数论与表示函数
math.ceil(x)
返回 x 的上限,即大于或者等于 x 的最小整数。math.floor(x)
返回 x 的向下取整,小于或等于 x 的最大整数。math.comb(n,k)
,3.8新功能
返回不重复且无顺序地从 n 项中选择 k 项的方式总数。
当 k <= n 时取值为 n! / (k! * (n - k)!);当 k > n 时取值为零。
也称为二项式系数,因为它等价于表达式 (1 + x) ** n 的多项式展开中第 k 项的系数。math.fabs(x)
返回 x 的绝对值。math.factorial(x)
以一个整数返回 x 的阶乘。如果 x 不是整数或为负数时则将引发ValueError。math.gcd(a, b)
返回整数 a 和 b 的最大公约数。math.isclose(a, b, *, rel_tol=1e-09, abs_tol=0.0)
若 a 和 b 的值比较接近则返回 True,否则返回 False。
根据给定的绝对和相对容差确定两个值是否被认为是接近的。math.isinf(x)
如果 x 是正或负无穷大,则返回 True ,否则返回 False 。math.modf(x)
返回 x 的小数和整数部分。两个结果都带有 x 的符号并且是浮点数。math.perm(n, k=None)
,3.8新功能
排列不重复且无顺序地从 n 项中选择 k 项的方式总数。
当 k <= n 时取值为 n! / (n - k)!;当 k > n 时取值为零。
如果 k 未指定或为 None,则 k 默认值为 n 并且函数将返回 n!。math.prod(iterable, *, start=1)
,3.8新功能
计算输入的 iterable 中所有元素的积。 积的默认 start 值为 1。
(二)幂函数与对数函数
math.exp(x)
返回 e 次 x 幂。math.log(x[, base ])
使用一个参数时,返回 x 的自然对数(底为 e )。math.sqrt(x)
返回 x 的平方根。math.pow(x, y)
返回 x 的 y 次幂。
(三)三角函数与几何
math.asin(x)
以弧度为单位返回 x 的反正弦值。math.acos(x)
以弧度为单位返回 x 的反余弦值。math.atan(x)
以弧度为单位返回 x 的反正切值。math.sin(x)
返回 x 弧度的正弦值。math.cos(x)
返回 x 弧度的余弦值。math.tan(x)
返回 x 弧度的正切值。math.atan2(y, x)
以弧度为单位返回 atan(y / x) ,结果在(-pi,pi]
之间。math.dist(p, q)
,3.8新功能
返回 p 与 q 两点之间的欧几里得距离(两点间直线距离),sqrt(sum((px - qx) ** 2.0 for px, qx in zip(p, q)))
。以一个坐标序列(或可迭代对象)的形式给出。两个点必须具有相同的维度。math.hypot(*coordinates)
返回欧几里得范数,sqrt(sum(x**2 for x in coordinates))
。这是从原点到坐标给定点的向量长度。math.degrees(x)
将角度 x 从弧度转换为度数。math.radians(x)
将角度 x 从度数转换为弧度。
(四)常数
math.pi
数学常数 π = 3.141592…,精确到可用精度。math.e
数学常数 e = 2.718281…,精确到可用精度。
小结
本文基本包含math够用的函数。
未摘要的部分:
- 一些提高精度的函数
- 双曲函数
- 特殊函数,如伽马函数,统计等
发现3.8新功能好好啊。
实践
from math import *
ceil(3.9),floor(3.9)#-->4,3
gcd(3,-3) #-->3
perm(5),perm(5,2) #-->120,20
log(100,10) #-->2.0
dist((0,0),(2,2)) #-->2.8284271247461903
radians(180) #-->3.141592653589793