Python逻辑运算

Python的逻辑运算用于处理真(True)假(False)这两种布尔值,这是编程中进行条件判断的基础。

小贴士:逻辑运算就像红绿灯一样,红灯停(False),绿灯行(True)!

逻辑运算符

Python中有三种基本的逻辑运算符:

运算符 名称 说明 示例
and 两个条件都为True时,结果才为True True and False → False
or 只要有一个条件为True,结果就为True True or False → True
not 对结果取反,True变False,False变True not True → False

真值表

逻辑运算遵循布尔代数规则,以下是完整的真值表:

A B A and B A or B not A
True True True True False
True False False True False
False True False True True
False False False False True
逻辑运算示例
# 与运算 (and)
print(10 > 5 and 3 <= 3) # True and True → True
print(10 != 10 and 5 == 5) # False and True → False

# 或运算 (or)
print(10 <= 5 or 100 > 50) # False or True → True
print(0 == 1 or 2 < 1) # False or False → False

# 非运算 (not)
print(not (10 == 10)) # not True → False
print(not (5 > 10)) # not False → True

逻辑运算的优先级

逻辑运算符的优先级如下(从高到低):

  1. not - 最高优先级
  2. and - 中等优先级
  3. or - 最低优先级
优先级示例
# 表达式: True or False and not True
# 实际计算: True or (False and (not True))
result = True or False and not True
print(result) # True or (False and False) → True or False → True

# 使用括号明确优先级
result = (True or False) and (not False)
print(result) # True and True → True
输入数据
逻辑运算
输出结果

逻辑运算的实际应用

逻辑运算符常用于条件判断,例如在游戏开发中判断玩家是否获胜:

# 游戏通关条件
has_key = True
defeated_boss = True
collected_treasure = False

# 通关需要钥匙和打败BOSS
can_win = has_key and defeated_boss

# 获得奖励需要通关并收集宝物
get_reward = can_win and collected_treasure

# 输出结果
print("能否通关:", can_win) # True
print("能否获得奖励:", get_reward) # False
重要注意事项
  • 短路特性:当使用and时,如果第一个表达式为False,就不会计算第二个表达式
  • 表达式顺序:使用or时,Python会返回第一个为True的表达式
  • 括号使用:复杂逻辑表达式使用括号明确优先级
  • 布尔上下文:Python中0、空字符串、None等被视为False

逻辑门可视化

逻辑运算可以通过逻辑门表示:

AND
与门(AND)
OR
或门(OR)
NOT
非门(NOT)

逻辑运算小知识

布尔逻辑是由19世纪的数学家乔治·布尔发明的

计算机中的所有计算最终都转化为布尔逻辑运算

动手练习

在下面的交互区域练习Python逻辑运算:

逻辑运算练习
计算结果将显示在这里
基本逻辑运算结果