当前位置:首页>python>Python 运算符初阶:算术 | 赋值 | 比较 | 逻辑运算符

Python 运算符初阶:算术 | 赋值 | 比较 | 逻辑运算符

  • 2026-09-28 17:31:17
Python 运算符初阶:算术 | 赋值 | 比较 | 逻辑运算符

在实际开发中,想要对各类数据做处理、计算与判断,就离不开运算符。

运算符是用于完成变量、数值运算的专用符号。本文系统梳理四大高频基础运算符:算术运算符、赋值运算符、比较运算符、逻辑运算符。

一、运算符基础概念

1.1 定义

  1. 运算符:对变量、字面量等数据执行运算操作的特殊符号;
  2. 操作数:参与运算的数据(变量、数字、字符串字面量等);
  3. 表达式:操作数 + 运算符组合而成的完整运算语句。
a + b

+ 是运算符; a、b 是操作数

1.2 分类

Python 内置 7 大类运算符,覆盖数值计算、赋值、条件判断、二进制操作、容器检测、对象内存判断全场景:

  1. 算术运算符
  2. 赋值运算符
  3. 比较运算符
  4. 逻辑运算符
  5. 位运算符
  6. 成员运算符
  7. 身份运算符

本文仅讲解前四类常用运算符。

二、算术运算符

2.1 定义

算术运算符:用于 数字类型 的数学加减乘除运算,包含常规四则运算、整除、取余、幂运算。

基础代码演示:
a = 10b = 3print(a / b)    # 3.3333333333333335print(a // b)   # 地板除向下取整:3print(a % b)    # 取余数:1print(2 ** 5)   # 2的5次方:32

2.2 高频注意事项

(1)浮点除法禁止除数为0
分母使用数字 0 会直接抛出运行异常,程序终止。

print(10 / 0)  # ZeroDivisionError 运行报错
知识补充:异常是编程语言内置机制,代表程序运行时出现非法意外,无法继续向下执行。
(2)整数相除结果仍为浮点数

Python3 中两个整数使用 / 运算,不会截断小数,统一返回浮点类型:
print(1 / 2)             # 0.5print(f'{1 / 2:.3f}')    # 格式化保留3位小数:0.500
(3)% 仅代表取余,不是百分号

原理和小学数学除法取余数逻辑一致:7 ÷ 2,商3,余数1
print(7 % 2)  # 1
(4)幂运算支持整数、小数次方
print(4 ** 2)    # 4的平方:16print(4 ** 0.5)  # 开平方根:2.0
(5)地板除 // 向下取整,非四舍五入

正数运算直观,负数会向下取更小整数,和 C++/Java 整数除法逻辑近似:
print(7 // 2)   # 3print(-7 // 2)  # -4

三、赋值运算符

3.1 定义

赋值运算符核心作用:将运算结果直接赋给变量。

基础代码演示
num = 6num += 4   # 等价 num = num + 4print(num) # 输出 10
知识补充:Python 不存在 ++、-- 自增自减运算符,如需增减1只能使用 num += 1、num -= 1 替代。

3.2 特殊用法

(1)连续赋值:多变量绑定同一个值
从右向左依次赋值,多个变量指向同一初始值

a = b = 10print(f'a = {a}, b = {b}')  # 输出:a = 10, b = 10
(2)多元解包赋值:多变量同时赋值

一对一匹配赋值,经典用途:无需中间变量交换两个变量值
# 基础解包赋值a, b = 10, 20print(f'a = {a}, b = {b}')  # 输出:a = 10, b = 20# 快速交换变量num1, num2 = 10, 20num1, num2 = num2, num1print(num1, num2)  # 输出 20 10
(3)+= 运算符重载:支持字符串、列表拼接

字符串、列表仅支持 += 拼接,不支持 -=、*=、/= 等其他复合赋值
# 字符串拼接s = "hello"s += " python"print(s)  # hello python# 列表合并lst = [1,2]lst += [3,4]print(lst) # [1, 2, 3, 4]# 错误示例:字符串不支持 -=# s = "hello"# s -= " python"# print(s)  # 直接语法报错

3.3 赋值常见错误总结

(1)区分赋值 = 和相等判断 ==

  • =
    :赋值操作,把右侧值赋予左侧变量;
  • ==
    :比较运算符,判断左右两边值是否相等。
a = 5      # 赋值if a == 5: # 判断是否相等    pass
(2)/= 会自动转换变量为浮点类型,//= 保留整型
n = 10n /= 2print(type(n))  # <class 'float'>m = 10m //= 2print(type(m))  # <class 'int'>
(3)复合赋值运算符不可加空格拆分

a + = 2 属于非法语法,必须紧贴书写 a += 2。

四、比较运算符

比较运算符用于判断两个数据的大小、相等关系,运算结果固定为布尔值 True / False,多用于 if 判断、循环条件。

4.1 运算符规则表

基础代码演示:
print(10 > 5)        # Trueprint(3 == 3.0)      # Trueprint("abc" == "def")# False

4.2 不同数据类型的比较规则

(1)数字(int / float)
直接对比数值大小,整数与等值浮点数判定相等:

print(3.5 > 2)    # Trueprint(2.0 == 2)   # True
(2)字符串:按 ASCII 码字典序逐字符对比

从第一个字符开始对比编码值,第一个不相等字符直接决定整体结果,后续字符不再校验;区分大小写。
print("apple" < "banana")  # True,a编码小于bprint("9" > "88")          # True,首字符9编码大于8
(3)列表、元组等序列

逐元素依次对比,匹配规则和字符串字典序一致:
print([1, 3] > [1, 2])  # True,第二个元素3>2print((2,5) < (3,1))    # True,第一个元素2<3
(4)禁止跨大类类型直接比较

Python3 不允许数字与字符串、列表互相比较,运行直接报错:
print(5 > "3")  # TypeError 类型不匹配报错

4.3 Python 独有:链式连续比较

常规多条件判断需要 and 连接,Python 支持直接连续拼接,代码可读性更高,二者完全等价:

x = 5# 常规写法print(x > 1 and x < 10)# Python 链式比较写法(推荐)print(1 < x < 10)   # True

4.4 易错点:浮点数谨慎使用 == 判断相等

计算机底层存储浮点数存在精度丢失,简单运算后会产生极小误差,直接用 == 判定相等会出错。

a = 0.1b = 0.2print(f"a = {a}")print(f"b = {b}")print(f"a + b = {a + b}")print(a == 0.3)   # False,精度丢失导致判断错误
正确解决方案:设置误差阈值,判断差值范围
取极小值作为允许误差,两个浮点数差值绝对值小于阈值即判定相等:
a = 0.1 + 0.2 b = 0.3eps = 1e-6  # 误差允许范围 0.000001print(abs(a - b) < eps)  # True

五、逻辑运算符

逻辑运算符用于联合多个布尔条件,多用于多分支、复合条件判断,共 and / or / not 三种。

5.1 运算符规则

代码示例:
# and 全真才真print(3 > 1 and 5 < 10)   # Trueprint(2 > 5 and 4 < 6)    # False# or 一真即真print(2 > 5 or 4 < 6)     # Trueprint(10 < 2 or 3 > 8)    # False# not 取反print(not 5 > 2)   # Falseprint(not 3 < 1)   # True

5.2 核心特性:逻辑短路

Python 逻辑运算存在短路机制,满足判定条件后,不会执行后方表达式,优化运行效率:

  1. a and b
    :若 a 为假,直接返回 a,不执行 b;
  2. a or b
    :若 a 为真,直接返回 a,不执行 b。
# and 短路:左侧0为假,后半句print不会执行0 and print("不会执行这句")  # or 短路:左侧1为真,后半句print不会执行1 or print("不会执行这句") 

5.3 运算优先级

优先级从高到低:not > and > or
复杂条件建议用括号 () 手动划分运算顺序,提升可读性:

# 先算not,再算and,最后算orprint(True or False and not True)  # True

全文总结

本文完整讲解了 Python 四大基础运算符的核心用法与易错细节,核心要点复盘如下:

算术运算符:负责数值数学运算,重点区分 /(浮点除法,必返回 float)、//(地板整除,向下取整)、%(取余)三者差异;需警惕除数为 0 异常、负数取整规则、浮点数精度特性。

赋值运算符:核心作用是完成变量赋值,复合赋值可简化代码书写;需掌握连续赋值、多元解包交换变量等 Python 特有写法,明确区分赋值 = 与相等判断 ==,注意 /= 会隐式改变变量数据类型。

比较运算符:运算结果固定为布尔值,多用于条件判断;不同数据类型对比规则不同,Python 支持链式比较简化多区间判断;浮点数禁止直接用 == 判等,需通过误差阈值实现可靠判断。

逻辑运算符:用于组合多个判断条件,优先级遵循 not > and > or;核心特性是逻辑短路,满足判定条件后不再执行后续表达式,可用于性能优化与特殊语法写法。

感谢阅读,如果对你有所帮助,给点个免费的小关注,这对我真的很重要
获取python教程资料步骤:++关注

最新文章

随机文章