Python 内置函数详解 逻辑运算
Python 提供了多种逻辑运算符,包括 and、or、not。这些运算符可以用于布尔值,也可以用于非布尔值(比如数字、字符串等),但是在非布尔值的情况下,它们的行为可能与你期望的不同。
- and:当两边的表达式都为真时,整个表达式才为真。
print(True and True) # Output: True
print(True and False) # Output: False
print(False and True) # Output: False
print(False and False) # Output: False
- or:只要有一个表达式为真,整个表达式就为真。
print(True or True) # Output: True
print(True or False) # Output: True
print(False or True) # Output: True
print(False or False) # Output: False
- not:用于否定一个表达式,如果表达式为真,则否定后为假;如果表达式为假,则否定后为真。
print(not True) # Output: False
print(not False) # Output: True
在非布尔值的情况下,这些运算符的行为可以用下面的规则来描述:
- and:如果第一个表达式为真(或者可以转换为True的非零值),那么返回第二个表达式的值;否则返回第一个表达式的值。
- or:如果第一个表达式为真(或者可以转换为True的非零值),那么返回第一个表达式的值;否则返回第二个表达式的值。
- not:如果表达式可以转换为True的非零值,not运算符返回False;否则返回True。
print(1 and 2) # Output: 2
print(0 and 2) # Output: 0
print(1 or 2) # Output: 1
print(0 or 2) # Output: 2
print(not 0) # Output: False
print(not 1) # Output: False
print(not 2) # Output: False
在上面的例子中,对于 and 和 or,返回的是原始表达式的值,而不是布尔值。not 运算符则是根据表达式的值来返回布尔值。
评论已关闭