Python运算符有哪些?算术、比较、逻辑与赋值运算分类详解

苏见山
苏见山
发布时间:2026-10-28| 6人浏览过
原创

本文系统详解Python四大核心运算符:算术、比较、逻辑与赋值运算符,剖析工作机制、短路求值、is与==的核心差异以及运算优先级,并附带直观图解与实用示例。

在 Python 编程中,运算符是用于对变量和数值执行计算、比较或状态判断的核心语法符号。Python 提供了丰富的运算符机制,其中最常用且最关键的基础运算符可划分为四大核心类别:算术运算符、比较运算符、逻辑运算符与赋值运算符。本文将针对这四大分类进行系统拆解,结合清晰的代码示例、运算规则推导与对比图解,帮助开发者建立扎实清晰的运算概念体系。

一、Python 四大核心运算符总览

计算机程序本质上是由数据与操作构成的。运算符正是指导 Python 解释器对数据实施特定规则处理的指令代号。根据操作目标与返回结果类型的不同,四大基础运算体系分工明确:

  • 算术运算符:用于数值计算(如加减乘除、求余、乘方),输入数值,输出数值结果。
  • 比较运算符:用于度量两个对象之间的大小或等价关系,结果固定返回布尔值(True 或 False)。
  • 逻辑运算符:用于连接多个布尔判断条件,支持“短路求值”特性,决定控制流程的走向。
  • 赋值运算符:负责将计算结果存储或更新到指定变量中,涵盖基础赋值与组合简写形式。
Python运算符有哪些?算术、比较、逻辑与赋值运算分类详解
图 1:Python 基础运算符四大核心分类与特性概览

二、算术运算符:数值计算与精度规则

Python 提供了 7 种标准的算术运算符。除了常见的加减乘除之外,Python 专门区分了真除法与地板除法(整除),并提供了便捷的求模与乘方运算。

运算符 名称 表达式示例 运算结果 说明
+ 加法 5 + 2 7 计算两数之和;亦可用于序列拼接(如字符串、列表)
- 减法 5 - 2 3 求两数之差;单个前缀表示求负数
* 乘法 5 * 2 10 求两数乘积;亦可用于序列重复
/ 真除法 5 / 2 2.5 永远返回浮点数(即使能整除,如 4 / 2 返回 2.0)
// 地板除(整除) 5 // 2 2 向下取整,保留不大于商的最大整数
% 取模(求余) 5 % 2 1 计算除法的余数,满足 a == (a // b) * b + (a % b)
** 幂运算(乘方) 5 ** 2 25 相当于 5 的 2 次方;优先级高于普通乘除

实战关键:真除法 / 与整除 // 的差异

初学者最容易忽略的是负数参与整除运算的表现。Python 中的 // 是严格向负无穷方向“向下取整”(Floor),而不是简单截断小数部分。

# 示例:正数除法与负数除法的向下取整表现
print(7 / 2)     # 输出: 3.5 (float)
print(7 // 2)    # 输出: 3 (向下取整)
print(-7 // 2)   # 输出: -4 (向负无穷方向取整,-3.5 变为 -4,而非截断成 -3)
print(-7 % 2)    # 输出: 1 (计算公式: -7 - (-4 * 2) = 1)

三、赋值运算符与复合运算状态流转

赋值运算符用于将右侧表达式的计算结果赋予左侧的变量标识符。最基础的赋值符号是单个等号 =。在此基础上,Python 提供了将算术运算与赋值合并的复合赋值运算符。

复合赋值的核心优势不仅在于书写简练,还能使代码意图更聚焦。例如 x += 1 直接表达“变量自增 1”,避免重复书写变量名。

Python运算符有哪些?算术、比较、逻辑与赋值运算分类详解
图 2:复合赋值运算符执行步骤分解与变量状态更迭机制

常见复合赋值对应关系如下:

  • x += 3 等价于 x = x + 3
  • x -= 2 等价于 x = x - 2
  • x *= 4 等价于 x = x * 4
  • x /= 2 等价于 x = x / 2
  • x //= 2 等价于 x = x // 2
  • x %= 3 等价于 x = x % 3
  • x **= 2 等价于 x = x ** 2

四、比较运算符:值等价与对象同一性的区别

比较运算符用于检验两端数据是否满足特定关系,其表达式结果固定为 True 或 False。包含:

  • ==:等于,比较两端的值或内容是否相同。
  • !=:不等于,内容不同时为 True。
  • > / <:大于 / 小于。
  • >= / <=:大于等于 / 小于等于。

关键对照:== 与 is 的本质差异

在条件判断中,开发者经常需要面对“相等”这一问题。Python 中存在两套判断机制:值比较(==)与同一性比较(is)。理解二者的区别对避免逻辑缺陷至关重要:

  • == 比较内容:调用对象的 __eq__() 方法,只要两个对象的数据内容一致就返回 True,哪怕它们是存放于不同内存区域的两个独立实例。
  • is 比较身份:比较两个变量是否指向同一个内存地址(即 id(a) == id(b))。通常用于判断是否是单例对象(如 None)。
# == 与 is 的典型对照示例
list_a = [1, 2, 3]
list_b = [1, 2, 3]
list_c = list_a

print(list_a == list_b)  # True: 两个列表的内容完全一致
print(list_a is list_b)  # False: 内存地址不同,属于两个独立对象 (id(list_a) != id(list_b))
print(list_a is list_c)  # True: list_c 引用了同一个对象

# 判空规范建议
val = None
if val is None:          # 正确且高效的写法
    pass

五、逻辑运算符与短路求值机制

逻辑运算符用于组合多个布尔表达式,Python 支持三个关键词:and(与)、or(或)以及 not(非)。

运算符 名称 规则概述 经典表达式
and 逻辑与 两个操作数均视为真时才返回后者的值;只要遇到假值立即终止并返回该假值 True and False → False
or 逻辑或 两个操作数中只要有一个为真即返回该真值;全假时返回后者 False or True → True
not 逻辑非 单目运算符,对布尔结果取反 not True → False
Python运算符有哪些?算术、比较、逻辑与赋值运算分类详解
图 3:短路求值与等价性判断的核心机制对比
特别注意: Python 的逻辑运算符返回的不一定是布尔值!and 和 or 返回的是最终决定该表达式真假值的那个原始对象。例如 "hello" or "world" 会直接返回 "hello";而 [] or [1, 2] 会返回 [1, 2]。

六、运算符优先级与工程编码规范

当一行表达式中同时包含多种运算符时,Python 会按照既定的优先级规则自上而下计算。如果同级,则通常从左往右结合(除乘方 ** 具有从右往左结合的特殊性外)。

Python运算符有哪些?算术、比较、逻辑与赋值运算分类详解
图 4:Python 常用运算符优先级全阶梯与结合方向汇总

连环比较(Chained Comparisons)的语法糖

Python 允许写出符合数学直觉的连续比较语句。例如表达式 1 < x < 10,在底层等价于 (1 < x) and (x < 10),但其中的中间表达式 x 只会被求值一次。这比许多其他语言中必须显式写 and 更加干净高效。

# 示例:连续比较
score = 85
if 80 <= score < 90:
    print("良好")  # 正常输出:良好

七、总结

掌握 Python 的运算符体系是编写稳健逻辑的基石:

  1. 算术运算关注精度与除法特性:/ 产生浮点数,// 是向负无穷取整。
  2. 比较运算厘清对象语义:日常数据比对用 ==,单例对象判断用 is。
  3. 逻辑运算利用好短路保护机制:and 与 or 可用于规避空指针和提升执行效率。
  4. 赋值运算善用复合简写,同时在复杂条件混合运算时,主动添加圆括号是保证逻辑准确与维护便利的最佳工程实践。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。