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

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

如果都改成and,返回結果為什么是后一個字符

a = 'python'
print 'hello', a and 'world'

hello,world


這是怎么回事?

正在回答

3 回答

'hello'是非空字符串返回true,a是非空字符串返回true,'world'是非空字符串返回true。

print 'hello', a and 'world'

在py的and短路運算中,a 、 'world'兩者將做短路運算,兩個都為真,輸出后者('world');如果前者為false,將輸出前者(a)。

print 'hello' and a and 'world'

如果都改成end,就是?'hello'、a 、'world'三者做短路運算,三者都為真,輸出最后一個結果

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

鏡輪鳳麟 提問者

非常感謝!
2018-02-28 回復 有任何疑惑可以回復我~

a and 'world 執行到a的時候并不能確定返回值是真還是假,要執行到'world'的時候才能確定返回值是真

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

因為執行到a的時候是真,但是后面是and,不能判斷最終結果,所以還要繼續執行,所以返回‘world’

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

舉報

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

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

進入課程

如果都改成and,返回結果為什么是后一個字符

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

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

幫助反饋 APP下載

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

公眾號

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