云朵颂 发表于 2018-1-16 18:14:33

Python 里 and、or 逻辑操作符

not 、 or 、and 的优先级:not > and > or

对python而言
其一, 在不加括号时候, and优先级大于or
其二, x or y 的值只可能是x或y.x为真就是x, x为假就是y
第三, x and y 的值只可能是x或y.x为真就是y, x为假就是x
显然,
对于, 1 or 5 and 4: 先算5 and 4, 5为真, 值为4. 再算1 or 4, 1 为真,值为1
对于, (1 or 5) and 4: 先算1 or 5, 1为真, 值为1. 再算1 and 4, 1为真,值为4



当and(并且) 两边同时为True,则返回True,反之False

>>> (6>5) and (3<4)
True
>>> (6>5) and (3>4)
False

当or (或者)两边,任意一边为True,结果则返回True,两边同时为False,返回False

>>> (6>5) or (3>4)
True
>>> (6<5) or (3>4)
False

not:取相反类型的布尔值,非0的数字则返回True

>>> not True
False
>>> not 0
True
>>> not 1
False
>>> not 4
False
>>>

常用操作符的优先级


Anypurple 发表于 2018-1-16 19:07:02

{:5_91:}

henhenyang 发表于 2018-1-16 20:32:36

666666

像番茄加两个蛋 发表于 2018-1-16 21:32:05

and优先级大于or,所以有时候用起来需要括号!

chengzige01 发表于 2018-1-16 22:20:33

学习了

云朵颂 发表于 2018-1-17 10:58:44

像番茄加两个蛋 发表于 2018-1-16 21:32
and优先级大于or,所以有时候用起来需要括号!

{:10_284:}是的忘了这句话,赞!
页: [1]
查看完整版本: Python 里 and、or 逻辑操作符