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

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

輸出值的疑問

a?=?True
print?'a=T'?or?a?and?False

上面的代碼還是返回 a=T ,后面的and False 是不執行了嗎

正在回答

2 回答

① 根據布爾值對變量的定義,只要變量a不是0,空字符串‘ ’,None,均視為True;

② 根據代碼短路計算的法則,運算順序為('a=T')or(a?and?False),

由于‘a=T’為非空字符串,因此直接返回'a=T',至于后面的a?and?False,是根據就沒有執行的。

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

芭菲雨 提問者

a = False print a or 'a=T' or a and False 這個代碼也是屬于后面的 a and False沒有執行吧
2017-12-15 回復 有任何疑惑可以回復我~
#2

心陌灬琉璃夢 回復 芭菲雨 提問者

① (a)or( 'a=T' or a and False),第一個變量a為布爾值False; ② 接著往下判斷('a=T')or(a and False),字符串'a=T'為非空字符串,視為True,返回輸出; ③ 后面的a and False沒有執行。
2017-12-16 回復 有任何疑惑可以回復我~
#3

芭菲雨 提問者

非常感謝!
2017-12-19 回復 有任何疑惑可以回復我~

難道是先計算 a and False

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

舉報

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

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

進入課程

輸出值的疑問

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

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

幫助反饋 APP下載

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

公眾號

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