当前位置:首页>python>Python内置函数(一、数学运算类)

Python内置函数(一、数学运算类)

  • 2026-09-02 19:21:37
Python内置函数(一、数学运算类)
📌 写在前面Python 内置函数共 69 个,本文将按功能分类,介绍第一类:数学运算类。这类函数是 Python 进行数值计算的基础工具,掌握它们能让数据处理更高效。

🎯 数学运算类函数总览

函数名
功能
基本语法
abs()
求绝对值
abs(x)
divmod()
求商和余数
divmod(a, b)
max()
求最大值
max(iterable)
 或 max(a, b, c...)
min()
求最小值
min(iterable)
 或 min(a, b, c...)
pow()
幂运算
pow(x, y)
 或 pow(x, y, z)
round()
四舍五入
round(number[, ndigits])
sum()
求和
sum(iterable[, start])

1️⃣ abs(x) — 求绝对值

语法详解

  • 参数:x — 整数、浮点数或复数。

  • 返回值:x 的绝对值。

    • 整数/浮点数:返回非负数值。

    • 复数:返回模(浮点数)。

代码示例

# 整数和浮点数print(abs(-5))      # 输出: 5print(abs(3.14))    # 输出: 3.14# 复数(模 = √(实部² + 虚部²))print(abs(3+4j))    # 输出: 5.0# 实际应用:计算两点距离a, b = -10, 20   ==   (a = -10, b = 20)d = abs(abs(a) - abs(b))  #在不知道A/B的值是否都为正时 可以先把两个值都先转化成正值,再计算print(f"距离: {d}")  # 输出: 距离: 30

2️⃣ divmod(a, b) — 求商和余数

语法详解

  • 参数:a — 被除数,b — 除数(不能为0)。

  • 返回值:元组 (商, 余数),即 (a // b, a % b)。

代码示例

# 基本用法result = divmod(10, 3)print(result)           # 输出: (3, 1)# 解包赋值q, r = divmod(17, 5)  # divmod(a, b) 得到的值的类型为tupleprint(f"17 ÷ 5 = {q} 余 {r}")  # 输出: 17 ÷ 5 = 3 余 2# 实际应用:秒数转换total_seconds = 125minutes, seconds = divmod(total_seconds, 60)print(f"{total_seconds}秒 = {minutes}分{seconds}秒")  # 输出: 125秒 = 2分5秒

3️⃣ max() — 求最大值

语法详解

  • 调用方式:

    1. max(iterable, *, default=None, key=None) — 对可迭代对象操作。

    2. max(arg1, arg2, *args, key=None) — 对多个参数操作。

  • 关键参数:

    • key:指定比较规则的函数。

    • default:可迭代对象为空时的返回值。

代码示例

# 方式1:多个参数print(max(5, 10, 3))          # 输出: 10# 方式2:可迭代对象numbers = [45, 12, 89, 34]print(max(numbers))           # 输出: 89# 使用key参数students = [    {'name': '小明', 'score': 85},    {'name': '小红', 'score': 92},    {'name': '小刚', 'score': 78}]top = max(students, key=lambda s: s['score'])print(f"第一名: {top['name']}")  # 输出: 第一名: 小红

4️⃣ min() — 求最小值

语法详解

  • 调用方式与 max() 完全相同。

  • 功能相反,返回最小值。

代码示例

# 基本用法print(min(5, 10, 3))          # 输出: 3print(min([45, 12, 89, 34]))  # 输出: 12# 使用key参数lowest = min(students, key=lambda s: s['score'])print(f"最低分: {lowest['name']}")  # 输出: 最低分: 小刚# 找绝对值最小的数numbers = [-10, 5, -3, 8, -2]closest = min(numbers, key=abs)print(f"最接近0的数: {closest}")  # 输出: 最接近0的数: -2

5️⃣ pow() — 幂运算

语法详解

  • 调用方式:

    • pow(x, y) — 计算 x ** y。

    • pow(x, y, z) — 计算 (x ** y) % z,效率更高。

  • 参数要求:使用三个参数时,z 必须为整数且不能为0。

代码示例

# 基本幂运算print(pow(2, 3))      # 输出: 8print(pow(5, 2))      # 输出: 25# 带模数的幂运算base, exp, mod = 7, 8, 13result1 = (7 ** 8) % 13result2 = pow(7, 8, 13)  # 效率更高print(result1, result2)  # 输出: 9 9# 实际应用:密码学中常用print(pow(3, 200, 50))  # 输出: 1

6️⃣ round() — 四舍五入

语法详解

  • 参数:

    • number:要处理的数字。

    • ndigits:保留的小数位数,默认0(返回整数)。

  • 重要特性:Python 采用 银行家舍入法(round half to even),对 .5 会取最近的偶数。

代码示例

# 基本用法print(round(3.14159))       # 输出: 3print(round(3.14159, 2))    # 输出: 3.14# 负数ndigits(向左四舍五入)print(round(1234, -1))      # 输出: 1230print(round(1264, -2))      # 输出: 1300# ⚠️ 银行家舍入法print(round(2.5))           # 输出: 2 (不是3!)print(round(3.5))           # 输出: 4print(round(2.675, 2))      # 输出: 2.67 (浮点精度问题)# 实际应用:价格计算price, tax_rate = 19.99, 0.0825total = price * (1 + tax_rate)print(f"含税价: {round(total, 2)}")  # 输出: 含税价: 21.64

7️⃣ sum() — 求和

语法详解

  • 参数:

    • iterable:可迭代对象(列表、元组等)。

    • start:起始值,默认为0。

  • 返回值:从 start 开始累加所有元素。

代码示例

# 基本求和numbers = [1, 2, 3, 4, 5]print(sum(numbers))            # 输出: 15# 指定起始值print(sum([1, 2, 3, 4, 5], 10)) # 输出: 25# 求和范围print(sum(range(1, 101)))      # 输出: 5050# 实际应用:计算平均值scores = [85, 92, 78, 90, 88]average = sum(scores) / len(scores)print(f"平均分: {average:.2f}")  # 输出: 平均分: 86.60# 使用生成器表达式sum_of_squares = sum(x**2 for x in numbers)print(f"平方和: {sum_of_squares}")  # 输出: 平方和: 55

🎯 一句话记用法

函数
一句话记法
abs()
求绝对值,复数也能用
divmod()
一次返回商和余数
max()
求最大值,还能自定义规则
min()
求最小值,和 max 对着记
pow()
幂运算,三个参数效率高
round()
四舍五入,.5取偶要记牢
sum()
求和计算,从 start 开始加

✅ 易错点提醒

  • round(2.5) 返回 2 不是3 — 银行家舍入法。

  • sum() 不能用于字符串拼接 — 请用 ''.join()。

  • divmod() 的除数不能为0。

  • pow(x, y, z) 的 z 必须为整数。

  • max() 对空序列要设置 default 参数。

📚 下期预告:数据类型转换类(基础篇)

最新文章

随机文章