Python逻辑运算符示例

本文详细介绍了Python语言中逻辑运算符的使用方法,并通过示例展示了如何在实际编程中应用这些运算符。

下表列出了所有Python语言支持的逻辑运算符。假设变量a持有10和变量b持有20,则:

运算符 描述 例子
and 所谓逻辑与运算符。如果两个操作数都为真,则条件为真。 (a and b) 为 true.
or 所谓逻辑OR运算符。如果有两个操作数都为非零,则条件变为真。 (a or b) 为 true.
not 所谓逻辑非运算符。用反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将为false。 not(a and b) 为 false.

示例:

试试下面的例子就明白了所有的Python编程语言提供了逻辑运算符:

#!/usr/bin/python

a = 10
b = 20
c = 0

if ( a and b ):
   print "Line 1 - a and b are true"
else:
   print "Line 1 - Either a is not true or b is not true"

if ( a or b ):
   print "Line 2 - Either a is true or b is true or both are true"
else:
   print "Line 2 - Neither a is true nor b is true"


a = 0
if ( a and b ):
   print "Line 3 - a and b are true"
else:
   print "Line 3 - Either a is not true or b is not true"

if ( a or b ):
   print "Line 4 - Either a is true or b is true or both are true"
else:
   print "Line 4 - Neither a is true nor b is true"

if not( a and b ):
   print "Line 5 - Either a is not true or b is not true"
else:
   print "Line 5 - a and b are true"

当执行上面的程序它会产生以下结果:

Line 1 - a and b are true
Line 2 - Either a is true or b is true or both are true
Line 3 - Either a is not true or b is not true
Line 4 - Either a is true or b is true or both are true
Line 5 - Either a is not true or b is not true

原文地址:http://www.yiibai.com/python/logical_operators_example.html

Python 包含三个核心逻辑运算符,分别为 `and`(逻辑与)、`or`(逻辑或)、`not`(逻辑非),它们可以在布尔值之间执行逻辑 AND、OR 和 NOT 运算 [^1][^2]。 ### 各运算符描述及示例 | 运算符 | 描述 | 示例 | 结果 | | --- | --- | --- | --- | | and | 逻辑与,若两个操作数都为 True,则返回 True;否则返回 False | `True and True` | `True` | | or | 逻辑或,若两个操作数至少有一个为 True,则返回 True;只有当两个操作数都为 False 时,才返回 False | `False or True` | `True` | | not | 逻辑非,对操作数的布尔值取反 | `not False` | `True` | [^2] ### 真值表与运算规则 #### `and` 运算符 | 左操作数 | 右操作数 | 结果 | | --- | --- | --- | | True | True | True | | True | False | False | | False | True | False | | False | False | False | #### `or` 运算符 | 左操作数 | 右操作数 | 结果 | | --- | --- | --- | | True | True | True | | True | False | True | | False | True | True | | False | False | False | #### `not` 运算符 | 操作数 | 结果 | | --- | --- | | True | False | | False | True | [^2] ### 短路求值特性 #### `and` 的短路行为 在 `and` 运算中,如果第一个操作数为 `False`,则不会计算第二个操作数,因为无论第二个操作数是什么,整个表达式的结果都是 `False`。 ```python def check(): print("执行检查") return True print(False and check()) # 输出 False,不执行check() ``` #### `or` 的短路行为 在 `or` 运算中,如果第一个操作数为 `True`,则不会计算第二个操作数,因为无论第二个操作数是什么,整个表达式的结果都是 `True`。 ```python def load_data(): print("加载数据") return [] print(True or load_data()) # 输出 True,不执行load_data() ``` #### 实际应用:避免除零错误 利用 `and` 运算符的短路特性,可以避免危险的计算,如除零错误。 ```python x = 0 if x != 0 and (10 / x > 2): # 安全判断 print("条件成立") else: print("跳过危险计算") ``` [^2] ### 运算符优先级 逻辑运算符Python 中有其特定的优先级,在复杂的逻辑表达式中,需要注意运算符的优先级以确保表达式按预期计算。不过具体优先级顺序在引用中未详细提及,一般可通过查阅 Python 官方文档获取准确信息。 ### 示例代码 ```python a = 10 b = 10 c = -10 if a > 0 and b > 0: print("The numbers are greater than 0") if a > 0 and b > 0 and c > 0: print("The numbers are greater than 0") else: print("Atleast one number is not greater than 0") ``` 这段代码展示了 `and` 运算符的使用,第一个 `if` 语句中 `a > 0` 和 `b > 0` 都为 `True`,所以会输出相应信息;第二个 `if` 语句中由于 `c > 0` 为 `False`,所以整个 `and` 表达式为 `False`,会执行 `else` 语句的内容 [^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值