a = True
obj = {some object}
while a and obj:
doSomething()
certain if statements:
^some of these will turn a False or obj to None
^当a = True和obj存在时,这会继续运行吗?Bool逻辑+布尔和对象:
如果什么都是在同一时间错误 - 将假和无 - >评估为true,因此它保持运行还是会退出while循环
a = True
obj = {some object}
while a and obj:
doSomething()
certain if statements:
^some of these will turn a False or obj to None
^当a = True和obj存在时,这会继续运行吗?Bool逻辑+布尔和对象:
如果什么都是在同一时间错误 - 将假和无 - >评估为true,因此它保持运行还是会退出while循环
可以,但“一”保持真实,它将运行OBJ存在
如果两个去假时,将评估为False
如果只是一个人去假它会评估为False
尝试写:
在你的Python解释器(False,并且无)
它会评估为False
你假设对象没有实现'__bool__'(或者2.x中的'__nonzero__')。 –
好的 - 谢谢 - 寻求帮助。该对象没有__bool__方法,所以我假定它使用Python的预先存在的方法。 –
@Lattyware是的,我是 - 好点 –
如果两者都在同一时间错误是什么 - 将假和无 - >评估为真,因此继续运行还是会退出while循环
只要的and
操作数的至少一个计算结果为False
,循环就会停止。因此,如果均为评估为False
,循环也停止。
重要的是要注意,False
和None
不是唯一的东西,评估到False
。有关详细信息,请参阅documentation。
python'None'与'False'同义。查看真值表也将有助于找出答案。 – sean
@sean这是不正确的。 'bool(None)','bool(False)'和'bool(0)'都是假的,但是'None不是False'是真的。 – Kos
我也不知道,但它仍然运行,即使没有不是假的 –