課程
/后端開發
/Python
/初識Python
True and 'a=T' 計算結果是 'a=T',為什么,我連這個都不懂啊
True and 'a=T' 應該是True,可是為什么非得結果是'a=T'? 不能是True嗎
2018-05-08
源自:初識Python 3-9
正在回答
and是需要滿足兩個條件,如果都滿足則為真,如果只滿足一個,就是false,or是只需要滿足一個條件,第一個滿足,就不是再對第二個進行判斷,直接返回第一個,反之如果第一個錯誤,判斷第二個為真則為真,否則也是false
短路計算。
1.?在計算 a and b 時,如果 a 是 False,則根據與運算法則,整個結果必定為 False,因此返回 a;如果 a 是 True,則整個計算結果必定取決與 b,因此返回 b。
a and b
2. 在計算 a or b 時,如果 a 是 True,則根據或運算法則,整個計算結果必定為 True,因此返回 a;如果 a 是 False,則整個計算結果必定取決于 b,因此返回 b。
a or b
所以Python解釋器在做布爾運算時,只要能提前確定計算結果,它就不會往后算了,直接返回結果。
這個叫短路,在很多語言中都有的特性,在且的情況下,全部為真才為真,因為第一個c是真,所以它無法判斷整個表達式是否為真或為假(前后都為真才是真,其中一個為假就是假了),他就會接著進行后面的,所以就是選擇了后面的,如果這個條件表達式是或,前面的已經是真了,不需要管后面的是真是假都能證明整個表達式為真,就不會進行后面的,自然會選擇前面的,這個東西在很多語言中都有,大致理解就是&&(and)的情況下前面為真進行后面,前面為假不進行后面,||(or)的情況下,前面為真不進行后面,前面為假進行后面,謝謝
舉報
學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2018-05-10
and是需要滿足兩個條件,如果都滿足則為真,如果只滿足一個,就是false,or是只需要滿足一個條件,第一個滿足,就不是再對第二個進行判斷,直接返回第一個,反之如果第一個錯誤,判斷第二個為真則為真,否則也是false
2018-05-08
短路計算。
1.?在計算
a and b時,如果 a 是 False,則根據與運算法則,整個結果必定為 False,因此返回 a;如果 a 是 True,則整個計算結果必定取決與 b,因此返回 b。2. 在計算
a or b時,如果 a 是 True,則根據或運算法則,整個計算結果必定為 True,因此返回 a;如果 a 是 False,則整個計算結果必定取決于 b,因此返回 b。所以Python解釋器在做布爾運算時,只要能提前確定計算結果,它就不會往后算了,直接返回結果。
2018-05-08
這個叫短路,在很多語言中都有的特性,在且的情況下,全部為真才為真,因為第一個c是真,所以它無法判斷整個表達式是否為真或為假(前后都為真才是真,其中一個為假就是假了),他就會接著進行后面的,所以就是選擇了后面的,如果這個條件表達式是或,前面的已經是真了,不需要管后面的是真是假都能證明整個表達式為真,就不會進行后面的,自然會選擇前面的,這個東西在很多語言中都有,大致理解就是&&(and)的情況下前面為真進行后面,前面為假不進行后面,||(or)的情況下,前面為真不進行后面,前面為假進行后面,謝謝