Python3 运算符(长文讲解)

更新时间:

💡一则或许对你有用的小广告

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论

  • 新项目:《从零手撸:仿小红书(微服务架构)》 正在持续爆肝中,基于 Spring Cloud Alibaba + Spring Boot 3.x + JDK 17...点击查看项目介绍 ;
  • 《从零手撸:前后端分离博客项目(全栈开发)》 2 期已完结,演示链接: http://116.62.199.48/ ;

截止目前, 星球 内专栏累计输出 82w+ 字,讲解图 3441+ 张,还在持续爆肝中.. 后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,权限管理,Spring Cloud Alibaba 微服务等等,已有 2900+ 小伙伴加入学习 ,欢迎点击围观

在 Python 编程语言中,运算符(Operators)如同程序员手中的“瑞士军刀”,是实现逻辑运算、数据处理和算法设计的基础工具。无论是进行简单的数值计算,还是复杂的条件判断,运算符都能以简洁的方式完成任务。本文将从基础到进阶,系统讲解 Python3 运算符的核心知识点,并通过案例和比喻帮助读者理解其应用场景。


算术运算符:基础但不可或缺的力量

算术运算符是编程中最基础的运算符类型,用于执行基本的数学计算。它们类似于数学中的加减乘除符号,但通过代码形式实现。

基础算术运算符

运算符描述示例
+加法5 + 38
-减法10 - 46
*乘法3 * 412
/除法(结果为浮点数)10 / 33.333...
%取模(求余数)10 % 31
**幂运算2 ** 38
//整除(取商的整数部分)10 // 33

案例:计算圆的面积

radius = 5  
area = 3.1415 * (radius ** 2)  
print(area)  # 输出 78.5375  

比喻:算术运算符就像计算器的按键,虽然功能简单,但通过组合可以实现复杂计算,例如 ** 运算符可以替代手动编写指数循环。


比较运算符:逻辑判断的基石

比较运算符用于比较两个值,并返回 TrueFalse 的布尔值。它们在条件语句(如 if)和循环中至关重要。

常用比较运算符

运算符描述示例
==等于5 == 5True
!=不等于3 != 4True
>大于10 > 5True
<小于2 < 1False
>=大于等于7 >= 7True
<=小于等于5 <= 3False

案例:成绩等级判定

score = 85  
if score >= 90:  
    print("优秀")  
elif score >= 70:  
    print("良好")  # 当 score=85 时,输出“良好”  
else:  
    print("需努力")  

比喻:比较运算符如同交通信号灯,根据不同的“信号”(条件)决定程序的执行路径。


逻辑运算符:构建复杂条件的“乐高积木”

逻辑运算符用于将多个条件组合或反转,常用于复杂判断场景。它们的结果同样是布尔值。

逻辑运算符详解

运算符描述示例
and逻辑“与”True and FalseFalse
or逻辑“或”True or FalseTrue
not逻辑“非”(取反)not TrueFalse

案例:用户登录验证

username = "admin"  
password = "123456"  
if username == "admin" and password == "123456":  
    print("登录成功!")  
else:  
    print("用户名或密码错误")  

比喻:逻辑运算符就像乐高积木,通过 andor 将简单条件“拼接”成复杂的逻辑结构,而 not 则像“翻转器”,改变条件的真假性。


赋值运算符:高效的数据更新

赋值运算符用于将值或表达式的结果赋给变量,常见的包括简单赋值 = 和复合赋值(如 +=)。

赋值运算符列表

运算符描述示例
=简单赋值x = 5
+=加法赋值x += 3x = x + 3
-=减法赋值x -= 2x = x - 2
*=乘法赋值x *= 4x = x * 4
/=除法赋值x /= 2x = x / 2

案例:统计购物车总价

total = 0  
item_prices = [100, 200, 150]  
for price in item_prices:  
    total += price  # 相当于 total = total + price  
print(total)  # 输出 450  

比喻:赋值运算符就像快递员,将数据“送货上门”到变量的“地址”,而复合赋值(如 +=)则是“送货+搬运”的一站式服务。


位运算符:底层数据的“魔术师”

位运算符直接操作数据的二进制位,常用于底层编程或优化特定算法。虽然对初学者可能较难理解,但掌握基础用法仍有必要。

常用位运算符

运算符描述示例
&按位“与”5 & 31(二进制 01 & 1101
|按位“或”5 | 37(二进制 011 | 101101
^按位“异或”5 ^ 36
~按位取反~5-6
<<左移(乘以 2 的幂)5 << 110
>>右移(除以 2 的幂)8 >> 14

案例:快速判断奇偶数

number = 7  
if number & 1:  # 若最后一位二进制为 1(奇数),则结果为 True  
    print("奇数")  # 输出“奇数”  
else:  
    print("偶数")  

比喻:位运算符如同“二进制乐手”,通过操作数据的每一位,演奏出高效的算法“乐章”。


运算符优先级:避免歧义的“交通规则”

当多个运算符出现在同一表达式中时,优先级(Precedence)决定了计算顺序。例如,乘法 * 的优先级高于加法 +

优先级规则表

类别运算符优先级(从高到低)
指数运算**1
一元运算+, -, not, ~2
乘性运算*, /, %, //3
加减运算+, -4
比较运算>, <, ==5
逻辑运算and, or6

案例:表达式优先级影响结果

result = 3 + 4 * 2  # 先计算 4*2 → 8,再加 3 → 11  
print(result)  # 输出 11  
result = (3 + 4) * 2  # 括号优先级最高 → 14  
print(result)  # 输出 14  

比喻:运算符优先级就像交通规则,确保代码中的“车辆(运算)”按顺序行驶,避免“事故”(计算错误)。


运算符重载:为对象赋予“超能力”

在 Python 中,运算符重载(Operator Overloading)允许开发者重新定义运算符的行为,使其适用于自定义对象。例如,可以为类定义 + 运算符,使其能直接相加。

案例:自定义向量类

class Vector:  
    def __init__(self, x, y):  
        self.x = x  
        self.y = y  
    def __add__(self, other):  # 重载 + 运算符  
        return Vector(self.x + other.x, self.y + other.y)  
v1 = Vector(1, 2)  
v2 = Vector(3, 4)  
v3 = v1 + v2  # 调用 __add__ 方法  
print(v3.x, v3.y)  # 输出 4 6  

比喻:运算符重载如同“魔法咒语”,让程序员为对象赋予超越默认行为的能力。


结论:掌握运算符,掌控代码逻辑

Python3 运算符是编程语言的“原子级”工具,从简单数值计算到复杂逻辑判断,它们贯穿于代码的每个角落。通过理解运算符的优先级、类型和应用场景,开发者可以编写出更高效、更简洁的代码。无论是初学者夯实基础,还是中级开发者优化算法,深入理解运算符都是迈向编程进阶的重要一步。

实践建议:尝试将本文中的案例改编为自己的项目,例如用比较运算符实现天气预警系统,或用位运算符优化数据处理逻辑。运算符的真正价值,将在代码的实践中逐渐显现。

最新发布