課程
/后端開發
/Python
/初識Python
?為什么print?'a'?or?'b'是a?print?None?or?'b'是b那??
2017-07-27
源自:初識Python 3-9
正在回答
因為在Python的布爾表達式中,0、空字符串和None都代表False,其他都代表True。
or運算是短路操作,即如果判斷了or前面一個表達式的結果是True,就不會繼續往下執行。
print 'a' or 'b'中編譯器判斷到'a'時True,就不會繼續往下執行,所以會輸出a;
print None or 'b'中編譯器判斷None為False,所以會繼續判斷'b',判斷到'b'是True,則會輸出b。
不知道這樣說你懂了沒?
qq_蘇格拉沒有底_14 提問者
短路計算
舉報
學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2017-07-27
因為在Python的布爾表達式中,0、空字符串和None都代表False,其他都代表True。
or運算是短路操作,即如果判斷了or前面一個表達式的結果是True,就不會繼續往下執行。
print 'a' or 'b'中編譯器判斷到'a'時True,就不會繼續往下執行,所以會輸出a;
print None or 'b'中編譯器判斷None為False,所以會繼續判斷'b',判斷到'b'是True,則會輸出b。
不知道這樣說你懂了沒?
2017-07-27
短路計算