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

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

為什么True and 'a=T' 計算結果是 'a=T'

a = True
print a and 'a=T' or 'a=F'


正在回答

5 回答

這個主要是因為邏輯運算符(and,or)計算規則決定的,

a and b 的計算規則是 :

先判斷a 是否為真(true/非零),繼續判斷b是否為真,如果b為真,最后返回b,否則返回0/false

如果判斷a為假(false/零),直接返回假/0

例如: print 0 and 1 返回0

????????????print 1 and 2 返回 2

b or a 的規則是只要一個為真就返回

這里"a and 'a = T' or 'a = F'" 根據優先級先判斷and,

首先判斷a, a = True 是非零,

繼續判斷 字符串'a = T',也是非零,此時就返回a = T

后面是個有個or,因為or前面的值已經是非零了,所以就不需要判斷后面的a=F

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

這個不錯 解惑了

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

這個地方的計算分兩步,先是and后是or.

and前面的a是true,所以and運算的結果由and后面的決定,于是返回了a=T

因為a=true 所以a=T是true,而or 運算是由true的那個決定的,既然前面這項是true,就沒有必要再去判斷or后面的是不是true了,這樣子計算機的工作會簡化一些,也被叫做短路計算。

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

短路原則

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

運算時,a and b 如果,a為false,那么結果為a ,不再運算b的結果,a為true是,要看b的結果。如果為true,那么結果為b

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

舉報

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

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

進入課程

為什么True and 'a=T' 計算結果是 'a=T'

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

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

幫助反饋 APP下載

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

公眾號

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