飞花落尽 发表于 2021-7-8 13:27:00

or 的用法

问下,a ==1   or   "("   or   "}"

a==1   or   a=="("   or   a=="}"
有什么区别?

fish_nian 发表于 2021-7-8 13:40:04

本帖最后由 fish_nian 于 2021-7-8 13:44 编辑

一个是变量a全等于1或者“(” 或者“{”就返回True,另外一个是a 等于 1就返回True,不等于1 就打印“(” 或打印 “{”

逃兵 发表于 2021-7-8 13:48:10

第一种情况
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]
查看完整版本: or 的用法