跳至主要内容

数学表达式

本页面为使用 Python 数学表达式的模块(如 calc)提供帮助。

运算符

算数运算符

运算符意义示例
+1 + 2 = 3
-3 - 1 = 2
*2 * 3 = 6
**2 ** 3 = 8
/6 / 3 = 2
//取整除7 // 4 = 1
%取模5 % 2 = 1

比较运算符

运算符意义示例
==等于1 == 1 = True
!=不等于1 != 1 = False
<小于1 < 2 = True
>大于2 > 1 = True
<=小于等于1 <= 2 = True
>=大于等于2 >= 1 = True

按位运算符

运算符意义示例二进制
&按位与10 & 12 = 81010 & 1100 = 1000
``按位或`1012 = 14``10101100 = 1110`
^按位异或110 ^ 12 = 61010 ^ 1100 = 0110
~按位取反~ 12 = - 13~ 1100 = 0011
>>右移12 >> 2 = 3001100 >> 2 = 000011
<<左移12 << 2 = 48001100 << 2 = 110000

逻辑运算符

运算符意义示例
and逻辑与True and False = False
or逻辑或True or False = True
not逻辑非not True = False

内置类

Decimal

浮点数精度问题可能会导致奇怪的结果,比如 3.3000000000000003。若遇到了此问题,请尝试使用 Decimal。

float 类型是反人类的,它甚至无法准确地表示 1.1 的值。Decimal 类型的“设计是基于考虑人类习惯的浮点数模型,并且因此具有以下最高指导原则 —— 计算机必须提供与人们在学校所学习的算术相一致的算术。”

碍于篇幅,我们不在此赘述 Decimal 的具体用法,请见 Python 官方文档。请注意上方的数学函数都不能用于 Decimal,但 Decimal 对象有内置的数学方法。

Fractions

请见 Python 官方文档

函数

内置函数

为了安全和易用性考虑,仅支持部分 Python 内置函数,其具体用法请见 Python 文档

函数意义示例
int(x)整型int(3.14) = 3
float(x)浮点数float(3) = 3.0
bool(x)布尔值bool(1) = True
complex(r, j)复数complex(5, 2) = (5 + 2j)
divmod(x, y)除法,返回商和余数divmod(5, 2) = (2, 1)
len(x)对象长度(元素个数)len('bot') = 3
round(x[, d])四舍五入至小数点后 d 位round(pi, 4) = 3.1416
bin(x)二进制bin(268) = 0b100001100
oct(x)八进制oct(268) = 0o414
hex(x)十六进制hex(268) = 0x10c

随机数函数

请注意:此处产生的随机数不是密码学安全的。您可以使用 random 模块确保密码学安全。

函数意义示例
randint(x)小于 x 的随机整型randint(6) = 5
rand()0 与 1 之间的随机浮点数rand() = 0.5789015836448923

数学函数

本段落列举了 Python math 模块的常见数学函数。

所有数学函数,参见 Python 文档

若计算结果属于复数,请加入cmath.前缀(下略),参见 Python 文档

请注意,所有返回结果均为浮点数。

代数函数

函数意义示例
ceil(x)向上取整ceil(pi) = 4
floor(x)向下取整floor(pi) = 3
gcd(a, b, ...)最大公因数gcd(4, 14) = 2
lcm(a, b, ...)最小公倍数lcm(4, 14) = 28
perm(n, k)排列perm(4, 2) = 12
comb(n, k)组合comb(4, 2) = 6
factorial(x)阶乘factorial(3) = 6
fabs(x)绝对值fabs(-1) = 1.0
fmod(x, y)取模fmod(5, 2) = 1.0
pow(x, y)pow(2, 3) = 8.0
exp(x)e 的 x 次幂exp(2) = 7.38905609893065
sqrt(x)平方根sqrt(4) = 2.0
log(x[, a])对数 (默认为自然对数)log(e) = 1.0 log(4, 2) = 2.0
log2(x)以 2 为底的对数log2(4) = 2.0
log10(x)以 10 为底的对数log10(100) = 2.0

角度转换/三角函数/双曲函数

函数意义示例
sin(x)正弦sin(pi / 4) = 0.7071067811865475
cos(x)余弦cos(pi / 4) = 0.7071067811865476
tan(x)正切tan(pi / 4) = 0.9999999999999999
asin(x)反正弦asin(pi / 4) = 0.9033391107665127
acos(x)反余弦acos(pi / 4) = 0.6674572160283838
atan(x)反正切atan(pi / 4) = 0.6657737500283538
sinh(x)双曲正弦sinh(pi / 4) = 0.8686709614860095
cosh(x)双曲余弦cosh(pi / 4) = 1.3246090892520057
tanh(x)双曲正切tanh(pi / 4) = 0.6557942026326724
asinh(x)反双曲正弦asinh(pi / 4) = 0.7212254887267798
acosh(x)反双曲余弦acosh(pi / 4) = 0.6674572160283838j
atanh(x)反双曲正切atanh(pi / 4) = 1.0593061708232432
degrees(x)弧度转角度degrees(pi / 4) = 45.0
radians(x)角度转弧度radians(45) = 0.7853981633974483
函数意义示例
pi圆周率pi = 3.141592653589793
tau圆常数tau = 6.283185307179586
e自然常数e = 2.718281828459045
inf浮点正无穷大
nan浮点非数字

统计函数

本段落列举了 Python statistics 模块的常见统计函数。

所有统计函数,参见 Python 文档

函数意义示例
mean()算术平均数mean([1, 2, 3, 4]) = 2.5
geometric_mean()几何平均数geometric_mean([1, 2, 3, 4]) = 2.2133638394006434
harmonic_mean()调和平均数harmonic_mean([1, 2, 3, 4]) = 1.92
median()中位数median([1, 3, 5, 7]) = 4.0
median_low()低中位数median_low([1, 3, 5, 7]) = 3
median_high()高中位数median_high([1, 3, 5, 7]) = 5
variance()样本方差variance([0.5, 1, 1.5]) = 0.25
stdev()样本标准差stdev([0.5, 1, 1.5]) = 0.5
pvariance()总体方差pvariance([0.5, 1, 1.5]) = 0.16666666666666666
pstdev()总体标准差pstdev([0.5, 1, 1.5]) = 0.408248290463863

Footnotes

  1. ^ 在很多时候表示幂,但 Python 中 ** 表示幂,而^ 则表示按位异或。请勿混淆其用法。