使用Python逻辑运算符and、or、not计算数字、字符串

使用Python逻辑运算符and、or、not计算数字、字符串

  • and 的计算法则
  • or 的计算法则
  • not 的计算法则
  • 混合运算

首先我们要知道,在python中数字 0 是假,其他数字都是真;空字符 “” 是假,其他字符都是真。

这其实是一个很简单的问题,用逻辑运算符计算数字、字符跟计算布尔值是同一个道理,只不过输出的结果有些不一样而已,但我学习的时候被教程中复杂的解释给整蒙了,所以你要先建立一个基础的意识:

  1. and 是 “ 和 ” 的意思,A and B and C 需要A、B、C全部是真才会输出真;
  2. or 是 “ 或 ” 的意思,A or B or C 只需要A、B、C其中一个是真就可以输出真,全部是假才会输出假;
  3. not 起取反的作用,是真就输出假,是假就输出真。

and 的计算法则

python 中的 and 从左到右计算表达式,若所有值均为真,则返回最后一个值,若存在假,返回第一个假值

a = 1
b = 2
c = 3
print(a and b and c)
>>> 3 					#a b c全部为真,输出最后的 c

a = 1
b = 0
c = 2
print(a and b and c)
>>> 0 					#b 为假,则输出 b

a = 1
b = 0
c = ""
print(a and b and c)
>>> 0 					#b c都为假,则输出先出现的 b

or 的计算法则

or 也是从左到右计算表达式,若所有值均为假,则返回最后一个值,若存在真,返回第一个真值

a = 0
b = 0
c = ""
print(a or b or c)
>>> 					#a b c全部为假,输出最后的 c (c是空字符串,所以什么也看不到)

a = 0
b = 1
c = 0
print(a or b or c)
>>> 1					#b 为真,则输出 b

not 的计算法则

not只会输出布尔值,对象是真则输出False,对象是假则输出True

a = 121
b = 0
print(not a)
>>> False
print(not b)
>>> True

c = '我真帅'
d = ''
print(not c)
>>> False
print(not d)
>>> True

混合运算

在混合运算时,优先级顺序由大到小为 NOT、AND、OR

x = True
y = False
z = False
 
if x or y and z:
    print("yes")
else:
    print("no")

>>> yes
'''
在进行以上运算时,先计算(y and z)= False, 后计算 x or False = True, 最终输出 yes
'''

想了解python的其他运算可以参考Python3 运算符 | 菜鸟教程。

你可能感兴趣的:(Python,python)