初识Python——逻辑运算符规则

506 阅读2分钟

前言

在学习python的过程中发现逻辑运算符的使用有些特殊,在此想整理清楚一些

1.png

1.关于bool逻辑值

关于 变量/对象 的 bool 逻辑值,通常仅 0、''、[]、()、{}、None、False (及各种空容器) 为 False,其余均为 True

事实上,Python 逻辑运算符可用于任何类型的表达式,表达式为 bool 类型只是充分不必要条件;同时,逻辑运算的结果可为任意类型,而不一定是 bool 类型。

2. and——"与"

常规来说:
  1. True and True 返回结果是 True
  2. True and False 返回结果为 False
  3. False and False 返回结果为 False 注:将上述 TrueFalse 转换为 10 亦相同!
不常规的运算如:0 and 3 又该返回什么值呢?

and1.png 返回的结果为:0

3 and 4 又该返回什么值呢?

and2.png 返回的结果为: 4

在这里,有一个规律可以总结一下:

形如x and y

第一个(x)False 或者 0 ,则返回的结果分别为 False0

第一个(x)True 或者 非零数 ,无论第二个值(y) 是 什么 , 则返回的结果都为 第二个值(y)

例子:

0 and 3

and1.png

True and 3

and3.png

3 and 4

and2.png

3. or——"或"

常规来说:
  1. True or True 返回结果是 True
  2. True or False 返回结果为 True
  3. False or False 返回结果为 False 注:将上述 TrueFalse 转换为 10 亦相同!
不常规的运算如:False or 3 又该返回什么值呢?

or1.png 返回的结果为:3

在这里,有一个规律可以总结一下:

形如x or y

第一个(x)True 或者 非零数 ,则返回的结果分别为 第一个值(x)

第一个(x)False 或者 0 , 则返回的结果都为 第二个值(y)

若有形如 x or y or z 的逻辑式,则返回第一个为非零数的值

例子:

3 or 4

or3.png

False or 3

or1.png

False or 0 or 4

or2.png

4. not——"非"

在这里,总结一下规律:

形如 not x

xFalse0,则返回的结果为: True1

xTrue非零数,则返回的结果为: False

例子:

not False

not1.png

not True

not2.png

not 1

not3.png

not 3

not4.png