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

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

這符合短路計算嗎

a='python' b='' print 'hello',b or a ? print'hello',b or a and 'world' 為何第一個輸出a第二個不是短路而是輸出'world'呢。a是字符串類型不是布爾類型吧

正在回答

2 回答

字符串類型參與邏輯運算,只要字符串不為'',那么轉換為True。

b or a 為真,and 后面要繼續判斷,直到'world'為真,才能確定整個邏輯表達式為真,所以沒毛病啊

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

我只給你解釋第二個print,你這么想,b or a的結果先看b,很顯然b為空,所以是false;因此b or a的結果就看a了,如果a是false,那結果就是false,如果a是除了“”、0、none之外的值,那這部分邏輯表達式的值都是a的值,因此b or a的結果很顯然是'python';然后再考慮a and 'world',即是考慮'python' and 'world'的值,首先‘python’不是false,那么結果就看‘world’了,所以最后的結果是'world'。

完畢!

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

舉報

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

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

進入課程

這符合短路計算嗎

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

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

幫助反饋 APP下載

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

公眾號

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