or 的用法
问下,a ==1 or "(" or "}"和
a==1 or a=="(" or a=="}"
有什么区别? 本帖最后由 fish_nian 于 2021-7-8 13:44 编辑
一个是变量a全等于1或者“(” 或者“{”就返回True,另外一个是a 等于 1就返回True,不等于1 就打印“(” 或打印 “{” 第一种情况
a ==1 or "(" or "}"
只要a被定义,根据短路逻辑,会返回'('。在判断中永远为True
>>> a = 2
>>> a ==1 or "(" or "}"
'('
>>> bool('(')
True
第二种情况
a==1 or a=="(" or a=="}"
如果a被定义
且
a 不等于(1,'(','}')中的任何一项,则为False,否则为True
>>> a = 2
>>> a==1 or a=="(" or a=="}"
False
页:
[1]