当前位置: 代码网 > it编程>前端脚本>Python > Python运算符初阶之算术、赋值、 比较和逻辑运算符用法详解

Python运算符初阶之算术、赋值、 比较和逻辑运算符用法详解

2026年09月16日 Python 我要评论
前言在前面内容中,我们系统梳理了 python 基础数据类型。在实际开发中,想要对各类数据做处理、计算与判断,就离不开运算符。运算符是用于完成变量、数值运算的专用符号。本文系统梳理四大高频基础运算符:

前言

在前面内容中,我们系统梳理了 python 基础数据类型。在实际开发中,想要对各类数据做处理、计算与判断,就离不开运算符。

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

一、运算符基础概念

1.1 定义

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

+ 是运算符; ab 是操作数

1.2 分类

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

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

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

二、算术运算符

2.1 定义

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

运算符作用示例(a=10, b=3)运算结果
+加法a + b13
-减法a - b7
*乘法a * b30
/浮点除法(结果必为浮点数)a / b3.3333333333333335
//地板整除(向下取整)a // b3
%取模/取余数a % b1
**幂运算(次方)a ** 2100

基础代码演示:

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

2.2 高频注意事项

(1)浮点除法禁止除数为0

分母使用数字 0 会直接抛出运行异常,程序终止。

print(10 / 0)  # zerodivisionerror 运行报错

知识补充:异常是编程语言内置机制,代表程序运行时出现非法意外,无法继续向下执行。

(2)整数相除结果仍为浮点数

python3 中两个整数使用 / 运算,不会截断小数,统一返回浮点类型:

print(1 / 2)             # 0.5
print(f'{1 / 2:.3f}')    # 格式化保留3位小数:0.500

(3)% 仅代表取余,不是百分号

原理和小学数学除法取余数逻辑一致:7 ÷ 2,商3,余数1

print(7 % 2)  # 1

(4)幂运算支持整数、小数次方

print(4 ** 2)    # 4的平方:16
print(4 ** 0.5)  # 开平方根:2.0

(5)地板除 // 向下取整,非四舍五入

正数运算直观,负数会向下取更小整数,和 c++/java 整数除法逻辑近似:

print(7 // 2)   # 3
print(-7 // 2)  # -4

三、赋值运算符

3.1 定义

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

运算符等价完整写法说明
=a = 5基础赋值
+=a = a + b加法复合赋值
-=a = a - b减法复合赋值
*=a = a * b乘法复合赋值
/=a = a / b除法复合赋值
//=a = a // b整除复合赋值
%=a = a % b取余复合赋值
**=a = a ** b幂运算复合赋值

基础代码演示:

num = 6
num += 4   # 等价 num = num + 4
print(num) # 输出 10

知识补充:python 不存在 ++-- 自增自减运算符,如需增减1只能使用 num += 1num -= 1 替代。

3.2 特殊用法

(1)连续赋值:多变量绑定同一个值

从右向左依次赋值,多个变量指向同一初始值

a = b = 10
print(f'a = {a}, b = {b}')  # 输出:a = 10, b = 10

(2)多元解包赋值:多变量同时赋值

一对一匹配赋值,经典用途:无需中间变量交换两个变量值

# 基础解包赋值
a, b = 10, 20
print(f'a = {a}, b = {b}')  # 输出:a = 10, b = 20

# 快速交换变量
num1, num2 = 10, 20
num1, num2 = num2, num1
print(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 = 10
n /= 2
print(type(n))  # <class 'float'>

m = 10
m //= 2
print(type(m))  # <class 'int'>

(3)复合赋值运算符不可加空格拆分

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

四、比较运算符

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

4.1 运算符规则表

运算符含义示例结果
>大于5 > 3true
<小于5 < 3false
>=大于等于5 >= 5true
<=小于等于5 <= 3false
==值相等5 == 3false
!=值不相等5 != 3true

基础代码演示:

print(10 > 5)        # true
print(3 == 3.0)      # true
print("abc" == "def")# false

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

(1)数字(int / float)

直接对比数值大小,整数与等值浮点数判定相等:

print(3.5 > 2)    # true
print(2.0 == 2)   # true

(2)字符串:按 ascii 码字典序逐字符对比

从第一个字符开始对比编码值,第一个不相等字符直接决定整体结果,后续字符不再校验;区分大小写。

print("apple" < "banana")  # true,a编码小于b
print("9" > "88")          # true,首字符9编码大于8

(3)列表、元组等序列

逐元素依次对比,匹配规则和字符串字典序一致:

print([1, 3] > [1, 2])  # true,第二个元素3>2
print((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.1
b = 0.2
print(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.3
eps = 1e-6  # 误差允许范围 0.000001
print(abs(a - b) < eps)  # true

五、逻辑运算符

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

5.1 运算符规则

运算符名称运算规则
and逻辑与两边全部为 true,结果才为 true;一假即假
or逻辑或任意一边为 true,结果即为 true;一真即真
not逻辑非单目运算符,对条件取反,true变false,false变true

代码示例:

# and 全真才真
print(3 > 1 and 5 < 10)   # true
print(2 > 5 and 4 < 6)    # false

# or 一真即真
print(2 > 5 or 4 < 6)     # true
print(10 < 2 or 3 > 8)    # false

# not 取反
print(not 5 > 2)   # false
print(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,最后算or
print(true or false and not true)  # true

全文总结

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

  1. 算术运算符:负责数值数学运算,重点区分 /(浮点除法,必返回 float)、//(地板整除,向下取整)、%(取余)三者差异;需警惕除数为 0 异常、负数取整规则、浮点数精度特性。
  2. 赋值运算符:核心作用是完成变量赋值,复合赋值可简化代码书写;需掌握连续赋值、多元解包交换变量等 python 特有写法,明确区分赋值 = 与相等判断 ==,注意 /= 会隐式改变变量数据类型。
  3. 比较运算符:运算结果固定为布尔值,多用于条件判断;不同数据类型对比规则不同,python 支持链式比较简化多区间判断;浮点数禁止直接用 == 判等,需通过误差阈值实现可靠判断。
  4. 逻辑运算符:用于组合多个判断条件,优先级遵循 not > and > or;核心特性是逻辑短路,满足判定条件后不再执行后续表达式,可用于性能优化与特殊语法写法。

以上就是python运算符初阶之算术、赋值、 比较和逻辑运算符用法详解的详细内容,更多关于python运算符的资料请关注代码网其它相关文章!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com