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

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

True and 'a=t' 中的 'a=t'不是非空字符串嗎(既true)? 那么 true and true 為什么不等于true呢?

True and 'a=t' 中的 'a=t'不是非空字符串嗎(既true)? 那么 true and true 為什么不等于true呢?

正在回答

4 回答

python里面其他數據類型往bool型轉換時 可以隱性轉化,

并且and 和 or 在python中也是遵循 “短路”原則的:?

a and b, ? 如果a為False, 則直接返回a的值,如果a為True,則返回b的值

a or b , 如果 a為False,返回b的值,如果a為True,返回a的值。

所以?

True?and?'a=t'
##?返回
'a=t'


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

根據法則,?

True and 'a=t' ?,即

?true and true?為真,則輸出后一個, ‘a=T’

因為是與運算,必須兩個都為真時,才會判斷為真,因此,當a為真是,b就將決定此判斷是否為真,所以,b在這種情況下,決定了結果。輸出b。

當a為假時,此判斷直接為假,a決定了結果,則輸出a

3 回復 有任何疑惑可以回復我~
a?=?True
print?a?and?b

既然a = True,那么結果取決于and后面的變量b,無論是真還是假,輸出一定是是b,Ture and True輸出是True哈,你可能搞錯了

1 回復 有任何疑惑可以回復我~
print?True?and?True

運行完是等于ture的呀。

http://img1.sycdn.imooc.com//5710750a00011c2509020254.jpg

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

wimpixel 提問者

看了短路算法明白了. 因為這個是"and"布爾算法,如果兩邊有一個false,那整個計算就是false. 這題,True and 'a=t',的結果之所以是"a=t" 是因為整個計算結果取決于 "a=t".
2016-04-15 回復 有任何疑惑可以回復我~

舉報

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

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

進入課程

True and 'a=t' 中的 'a=t'不是非空字符串嗎(既true)? 那么 true and true 為什么不等于true呢?

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

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

幫助反饋 APP下載

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

公眾號

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