python and or的使用,python中and和or的意思
在Python中,和、或是Python中的逻辑运算符。它们是如何使用的?
and:
在Python中,and和or执行布尔逻辑演算,如你所料,但它们不返回布尔值;相反,返回它们实际比较的值之一。
下面的代码是3360。
a 和 bb
和b
a、b和c
c 在布尔上下文中从左到右计算表达式的值,如果布尔上下文中的所有值都为真,则返回最后一个值。
如果布尔上下文中的值为false,则返回第一个false值。
or:
下面的代码是3360。
a 或 ba
或 bb
或[]或{}
{}
0或“a”或“c”
a 使用or时,在布尔上下文中从左到右计算值,就像and一样。如果其中一个值为真,或立即返回值。
如果所有值都为假,则返回最后一个假值。
请注意,or总是在布尔上下文中计算表达式,直到找到第一个真值,然后忽略其余的比较值。
and-or:
And-or结合了前面两个语法,推理就够了。
a=第一
b=秒
1andaorb“第一”
(1anda)球体“第一”
0和圆形秒
(安达)球体“第二”
这个语法看起来很像C语言中的bool?一个: b的表情。整个表达式是从左到右计算的,所以先计算and表达式。1且“first”计算为“first”,然后“first”或“second”计算为“first”。
0和“first”计算结果为False,然后0或“second”计算结果为“second”。
And-or主要用来模仿三元运算符bool?A:b,即当表达式bool为真时,取a;否则,b被采用。
And-or技巧,bool和a或b表达式,当布尔上下文中a的值为false时,会不会像c语言表达式bool?A : b就是这样工作的。
安全使用and-or
下面的代码是3360。
a=
b=秒
(1和[a]或[b])
[]
(1和[a]或[b])[0]
因为[a]是非空列表,所以永远不会为假。即使a为0或“”或其他假值,列表[a]也为真,因为它只有一个元素。
一个负责任的程序员应该将and-or技术封装到一个函数中:
下面的代码是3360。
defchoose(bool,a,b):
return(booland[a]或[b])[0]
printchoose(1,,秒)
#
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。