shr*_*iek 2 python boolean-logic boolean
我正在阅读其他人的代码,他有这样的事情:
return val1 and val2
Run Code Online (Sandbox Code Playgroud)
我在Python解释器中尝试了这个,它在AND上给了我后面的值,而OR给了我前面的值.
所以我的问题是该声明到底发生了什么?
谢谢.
Mar*_*ers 11
表达式使用and或or短路时,它可以确定表达式不会根据第一个操作数计算为True或False,并返回最后一个计算值:
>>> 0 and 'string'
0
>>> 1 and 'string'
'string'
>>> 'string' or 10
'string'
>>> '' or 10
10
Run Code Online (Sandbox Code Playgroud)
这种"副作用"通常用在python代码中.请注意,not 它确实返回一个布尔值.有关详细信息,请参阅有关布尔运算符的python文档.
| 归档时间: |
|
| 查看次数: |
173 次 |
| 最近记录: |