亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

b = '' print 'hello,', b or 'world'

hello''已經是True了,根據短路法則就應該只輸出hello啊,為什么最后輸出來的是hello world

正在回答

3 回答

b?=?''?????????????????????#b為假False?????
print?'hello,',?b?or?'world'?????#?hello,這個是個字串符,沒有參與運算,逗號后的b?or?'world'這兩個才參與了運算,運算結果為真world(或運算,一方為真取真)。

#所以得出的結果應該是hello,(字串符)world(or運算得出的真值)

我是這么解釋的。希望對你有幫助。

0 回復 有任何疑惑可以回復我~
#1

慕圣5556514 提問者

謝謝啊
2019-10-06 回復 有任何疑惑可以回復我~

首先(‘hello’)為字符串是不參與判定的 ?

print我理解為運行? a 為真時or命令規則為直接判真 所以運行后應該是“hello python”

? b為空字符那么視為假? 根據or命令規則為進行下一步判定 但是下一步的‘world’是一個字符串則視為真 所以運行后應該是‘hello world’ ? 對于or和and這兩個命令的理解 我可能理解的比較土 呵呵 我就記著"or"理解為或者的意思? "and"理解為并且或是而且的意思 ? 呵呵 說了這么多 也不知道對不對?那么這個判定我個人是這么理解的 如果不對請大神指正??


0 回復 有任何疑惑可以回復我~

定義:在計算 a or b 時,如果 a 是 True,則根據或運算法則,整個計算結果必定為 True,因此返回 a;如果 a 是 False,則整個計算結果必定取決于 b,因此返回 b。

此處b未知,所以返回world,輸出hello world

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
初識Python
  • 參與學習       758323    人
  • 解答問題       8967    個

學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序

進入課程

b = '' print 'hello,', b or 'world'

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號