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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

python中兩個range進行布爾運算結果?

python中兩個range進行布爾運算結果?

慕雪2273792 2019-09-14 11:39:34
為什么?x=range(10) and range(5,20)print(x)>>>(5,20)x=range(10) or range(5,20)print(x)>>>(1,10)為什么會是這樣的結果,我認為and是取交集,or是并集;所有range(10) and range(5,20)? 結果應該是(5,10)range(10) or range(5,20) 結果應該是(1,20),錯在哪?
查看完整描述

1 回答

已采納
?
橋本奈奈未

TA貢獻436條經驗 獲得超108個贊

理解錯了,python里的布爾運算符and和or就好比像其它語言中的&&和||,布爾運算符是會返回后續表達式的值的,而且其具有短路特性,比如例子中的range(10) and range(5,20)兩個表達式均為真,則and運算會返回最后一個表達式的值也就是range(5,20);而range(10) or range(5,20)之所以會返回range(10)是因為range(10)為真,則后續運算不需要進行了【因為只要一個為真or運算就肯定為真,這就是“短路”】,返回第一個表達式即range(10)的值。

查看完整回答
1 反對 回復 2019-09-14
  • 1 回答
  • 0 關注
  • 945 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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