当前位置:首页>python>【一起学Python】第14天:运算符

【一起学Python】第14天:运算符

  • 2026-09-02 20:34:02
【一起学Python】第14天:运算符

你可能每天都在用 +、-、=,但你真的了解它们的全部“威力”和“陷阱”吗?比如,is 和 == 有什么区别?// 和 / 到底谁是谁?还有那个酷酷的 := 是什么新式武器?

别急,今天我就带你闯荡一番Python运算符的“江湖”,让你从一个只会用“加减乘除”的“萌新”,成长为能驾驭各种“神兵利器”的“大侠”!

一、必修课:日常编程的“四大金刚”
1. 算术运算符:计算的基础 🧮
这些是我们最熟悉的伙伴,但里面也藏着小细节。

基础四则:+, -, *, /

进阶三杰:% (取模), ** (幂), // (整除)

# / 是精确除法,结果是浮点数print(10 / 3)  # 输出: 3.333...# // 是整除,结果向下取整print(10 // 3) # 输出: 3print(-10 // 3) # 输出: -4 (注意是向下取整!)# % 是取模,即取余数print(10 % 3)  # 输出: 1# ** 是幂运算print(2 ** 4)  # 输出: 16 (2的4次方)

实战技巧:

  • 判断奇偶:num % 2 == 0 (偶数) 或 num % 2 == 1 (奇数)。

  • 获取个位数:num % 10。

2. 比较运算符:判断的艺术 🤔
它们是 if 语句的灵魂,负责比较大小、判断真假。
六大比较:== (等于), != (不等于), > (大于), < (小于), >= (大于等于), <= (小于等于)
age = 18if age >= 18:    print("欢迎来到成年人的世界!")# 字符串也可以比较大小(按字典序)print('apple' < 'banana') # 输出: True
易错点:== vs is
  • == 判断的是两个变量的值是否相等。

  • is 判断的是两个变量是否指向同一个内存地址。

我们后面会详细讲 is,现在你只需要记住:比较值的时候,永远用 ==!

优雅技巧:链式比较

# 不优雅的写法if x > 0 and x < 10:    ...# 优雅的写法if 0 < x < 10:    ...

3. 赋值运算符:简洁的魔法 ✨

除了最常见的 =,还有一系列“复合赋值运算符”,能让你的代码更简洁。

  • 基础赋值:=

  • 复合赋值:+=, -=, *=, /= 等

score = 100# 传统写法score = score + 10# 简洁写法score += 10  # 等价于 score = score + 10print(score) # 输出: 110
新式武器:海象运算符 := (Python 3.8+)
它可以在表达式内部进行赋值,避免重复计算。
# 传统写法count = len(my_list)if count > 10:    print(f"列表太长了,有 {count} 个元素")# 海象运算符写法if (count := len(my_list)) > 10:    print(f"列表太长了,有 {count} 个元素")
4. 逻辑运算符:条件的组合 🧠
and, or, not 是构建复杂判断逻辑的三剑客。
score = 85attendance = 95# 成绩和出勤率都达标才能获得奖学金if score >= 80 and attendance >= 90:    print("恭喜获得奖学金!")# 只要有一门课及格,就能毕业if math_score >= 60 or english_score >= 60:    print("恭喜毕业!")
核心原理:短路求值
  • A and B:如果 A 是 False,就不会再计算 B。

  • A or B:如果 A 是 True,就不会再计算 B。

实战技巧:设置默认值
user_input = ""# 如果用户输入为空,则使用默认值username = user_input or "匿名用户"print(username) # 输出: 匿名用户
二、进阶篇:特殊场景的“利器”
5. 成员运算符:in 和 not in 🔍
判断一个元素是否存在于一个序列(如列表、字符串、元组)中。
permissions = ["admin", "editor", "viewer"]if "admin" in permissions:    print("拥有管理员权限")if "superadmin" not in permissions:    print("不是超级管理员")
性能提示:在 set 和 dict 中使用 in 的速度远快于在 list 中,因为它们是哈希结构。
6. 身份运算符:is 和 is not 🆔
前面提到了 is,它用于判断两个变量是否是同一个对象。
a = [1, 2, 3]b = a       # b 是 a 的别名,指向同一个对象c = [1, 2, 3] # c 是一个新对象,只是值和 a 相同print(a == b) # True (值相等)print(a is b) # True (是同一个对象)print(a == c) # True (值相等)print(a is c) # False (不是同一个对象)
陷阱:Python会对一些小的整数(通常是-5到256)和短的字符串进行缓存。所以对于这些对象,is 可能会意外返回 True。但不要依赖这个特性,判断值是否相等,请坚持使用 ==!
7. 位运算符(选读)🎨

&, |, ^, ~, <<, >> 这些是直接操作二进制位的运算符,在常规业务开发中不常用,但在性能优化、图形学、加密算法等领域是神器。这里我们简单了解一下。

应用场景:

  • 权限系统:用一个整数表示多种权限的组合。

  • 颜色计算:在RGB颜色值中提取R、G、B分量。

  • 高效乘除:x << 1 等价于 x * 2,x >> 1 等价于 x // 2。

三、避坑指南:常见错误TOP3
  1. 混淆 == 和 is:切记,== 比值,is 比身份(内存地址)。

  2. 整数除法精度:10 / 3 是 3.333...,10 // 3 才是 3。

  3. 逻辑运算符的优先级:not > and > or。如果不确定,就用括号 () 来明确顺序!

四、速查表:运算符优先级

从高到低,记不住没关系,善用括号是王道!

运算符是编程的基石,熟练掌握它们,你的代码才能写得更准、更快、更优雅。

最新文章

随机文章