想系统提升编程能力、查看更完整的学习路线,欢迎访问 AI Compass:https://github.com/tingaicompass/AI-Compass
仓库持续更新刷题题解、Python 基础和 AI 实战内容,适合想高效进阶的你。
03 - 运算符
学习目标: 掌握算术、比较、逻辑和位运算符
💻 代码示例
1. 算术运算符
python
a, b = 10, 3
print(a + b) # 13 加法
print(a - b) # 7 减法
print(a * b) # 30 乘法
print(a / b) # 3.333... 除法(结果是浮点数)
print(a // b) # 3 整除(向下取整)
print(a % b) # 1 取余(模运算)
print(a ** b) # 1000 幂运算(10的3次方)
# 复合赋值
x = 5
x += 3 # x = x + 3 → 8
x -= 2 # x = x - 2 → 6
x *= 2 # x = x * 2 → 12
x //= 5 # x = x // 5 → 2
2. 比较运算符
python
print(5 == 5) # True 等于
print(5 != 3) # True 不等于
print(5 > 3) # True 大于
print(5 < 3) # False 小于
print(5 >= 5) # True 大于等于
print(5 <= 3) # False 小于等于
# 链式比较(Python特有!)
x = 5
print(1 < x < 10) # True (相当于 1 < x and x < 10)
3. 逻辑运算符
python
print(True and True) # True
print(True and False) # False
print(True or False) # True
print(not True) # False
# 短路运算
x = 5
print(x > 0 and x < 10) # True
print(x > 10 or x < 0) # False
# 算法题中常用
if nums and nums[0] > 0: # 先检查nums非空,再访问元素
print("第一个元素是正数")
4. 位运算符(高级)
python
a, b = 5, 3 # 二进制: 101, 011
print(a & b) # 1 按位与(AND)
print(a | b) # 7 按位或(OR)
print(a ^ b) # 6 按位异或(XOR) ⭐
print(~a) # -6 按位取反
print(a << 1) # 10 左移(相当于乘以2)
print(a >> 1) # 2 右移(相当于除以2)
# 异或的神奇性质(算法题常用)
print(5 ^ 5) # 0 (任何数和自己异或等于0)
print(5 ^ 0) # 5 (任何数和0异或等于自己)
# 应用:找出数组中唯一出现一次的数(第104课)
nums = [2, 2, 1, 3, 3]
result = 0
for num in nums:
result ^= num # 2^2=0, 3^3=0, 1^0=1
print(result) # 1
5. 成员运算符
python
# in / not in
nums = [1, 2, 3, 4, 5]
print(3 in nums) # True
print(10 not in nums) # True
s = "hello"
print('h' in s) # True
print('x' in s) # False
# 字典中检查键
d = {"name": "Alice", "age": 20}
print("name" in d) # True
6. 身份运算符
python
# is / is not (判断是否是同一个对象)
a = [1, 2, 3]
b = a # b和a指向同一个列表
c = [1, 2, 3] # c是新列表
print(a is b) # True (同一个对象)
print(a is c) # False (不同对象)
print(a == c) # True (值相等)
# 检查None
x = None
if x is None: # ✅ 推荐
print("x是None")
# if x == None: # ⚠️ 不推荐
🎯 在算法题中的应用
python
# 取余:判断奇偶
if num % 2 == 0:
print("偶数")
# 整除:二分查找
mid = (left + right) // 2
# 异或:只出现一次的数字(第104课)
def singleNumber(nums):
result = 0
for num in nums:
result ^= num
return result
# 逻辑运算:边界检查
if 0 <= i < len(nums) and nums[i] > 0:
# 访问nums[i]
pass
# 位运算:判断奇偶(比%更快)
if n & 1: # 等价于 n % 2 == 1
print("奇数")
🎓 小结
✅ 算术:+, -, *, /, //, %, **
✅ 比较:==, !=, >, <, >=, <=
✅ 逻辑:and, or, not
✅ 位运算:&, |, ^, ~, <<, >>
✅ 成员:in, not in
✅ 身份:is, is not
必须记住:
//整除%取余^异或(算法题常用)in成员检查
下一步 : 04-控制流.md
如果这篇内容对你有帮助,推荐收藏 AI Compass:https://github.com/tingaicompass/AI-Compass
更多系统化题解、编程基础和 AI 学习资料都在这里,后续复习和拓展会更省时间。