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
我也不知道,但它仍然運行,即使沒有不是假的 –