Python3 常用数学函数详解
本篇教程将介绍 Python3 中常用的几个内置数学函数,帮助你更好地进行数值计算和数据处理。我们会通过示例代码,让你理解每个函数的作用和用法。
1. abs()
- 求绝对值
abs(x)
函数用于返回数字 x
的绝对值。 它可以处理整数 (int
)、浮点数 (float
) 和复数 (complex
)。
- 整数和浮点数: 返回其正值。
- 复数: 返回其模(magnitude),也就是复数在复平面上到原点的距离。
python
>>> abs(-2.3)
2.3
>>> abs(-10)
10
>>> abs(2 + 2j) # 复数的模,相当于 sqrt(2**2 + 2**2)
2.8284271247461903
补充说明: 复数的模的计算公式是:sqrt(a^2 + b^2)
,其中 a
是复数的实部,b
是复数的虚部。
2. round()
- 四舍五入
round(x [, ndigits])
函数用于将浮点数 x
四舍五入到小数点后 ndigits
位。
ndigits
参数: 可选参数,指定保留的小数位数。- 返回值: 四舍五入后的浮点数。 如果不提供
ndigits
,则四舍五入到最接近的整数。 - 特殊情况: 当遇到 0.5 时的舍入规则。Python 3 采用 "round half to even" 策略,即舍入到最接近的偶数。 这有助于避免统计上的偏差。
python
>>> round(2.33462398) # 不指定 ndigits,舍入到最接近的整数
2
>>> round(2.33462398, 3) # 指定 ndigits=3,保留三位小数
2.335
>>> round(2.5) # 舍入到最接近的偶数
2
>>> round(3.5) # 舍入到最接近的偶数
4
注意: 这种舍入规则可能与你习惯的四舍五入有所不同,需要特别留意。
3. sum()
- 求和
sum(iterable [, start])
函数用于计算可迭代对象(list
、tuple
、range
、set
等)中所有元素的总和。
iterable
参数: 必需参数,必须是一个可迭代对象,如列表、元组等。start
参数: 可选参数,指定起始值,会将start
的值加到总和中。- 返回值: 所有元素的总和加上
start
的值。
python
>>> sum([1, 2, -1]) # 列表求和
2
>>> sum((1, 2, -1)) # 元组求和
2
>>> sum([1, 2, -1], 10) # 列表求和,起始值为 10
12
适用场景: sum()
函数在数据分析、统计计算等方面非常常用。
4. min()
- 求最小值
min(iterable)
函数用于返回可迭代对象(list
、tuple
、range
、str
、set
等)中的最小值。
- 参数: 可以是可迭代对象,也可以是多个参数
min(arg1, arg2, ...)
。 - 字符串: 如果是字符串,则返回 ASCII 值最小的字符。
python
>>> min([1, 2, -1]) # 列表求最小值
-1
>>> min(1, 2, -1) # 多个参数求最小值
-1
>>> min("hello") # 字符串求 ASCII 值最小的字符
'e'
5. max()
- 求最大值
max(iterable)
函数用于返回可迭代对象(list
、tuple
、range
、str
、set
等)中的最大值。
- 参数: 可以是可迭代对象,也可以是多个参数
max(arg1, arg2, ...)
。 - 字符串: 如果是字符串,则返回 ASCII 值最大的字符。
python
>>> max([1, 2, -1]) # 列表求最大值
2
>>> max(1, 2, -1) # 多个参数求最大值
2
>>> max("hello") # 字符串求 ASCII 值最大的字符
'o'
6. pow()
- 求幂
pow(base, exp [, mod])
函数用于计算 base
的 exp
次方,即 base**exp
。
base
参数: 底数,可以是整数或浮点数。exp
参数: 指数,可以是整数或浮点数。mod
参数: 可选参数,如果提供,则返回(base**exp) % mod
的结果。
python
>>> pow(3, 2, 7) # (3**2) % 7 = 9 % 7 = 2
2
>>> pow(1.4141, 2)
1.9996788099999998
效率: 当需要计算 (base**exp) % mod
时,使用 pow(base, exp, mod)
比先计算 base**exp
再求余更高效。
7. divmod()
- 求商和余数
divmod(a, b)
函数用于计算 a
除以 b
的商和余数,返回一个元组 (a // b, a % b)
。
- 参数:
a
和b
可以是整数或浮点数。 - 返回值: 一个元组,包含商(整数除法的结果)和余数。
python
>>> divmod(23, 3.5) # 23 = 6.0 * 3.5 + 2.0
(6.0, 2.0)
>>> divmod(-10, 7) # -10 = -2 * 7 + 4
(-2, 4)
应用场景: divmod()
函数常用于分页计算、时间处理等场景。 例如,可以将总秒数通过 divmod()
计算出小时、分钟和秒。