布爾類型運算結果答疑
a?=?True print(a?and?0?or?99)?#?==>?99
Python把0、空字符串和None看成False,其他數值和非空字符串都看成True,所以:
True and 0
計算結果是0 (為什么此處結果不是false,而是0)
繼續計算0 or 99
計算結果是 99?(為什么此處結果不是true,而是99)
因此,結果是99。
a?=?True print(a?and?0?or?99)?#?==>?99
Python把0、空字符串和None看成False,其他數值和非空字符串都看成True,所以:
True and 0
計算結果是0 (為什么此處結果不是false,而是0)
繼續計算0 or 99
計算結果是 99?(為什么此處結果不是true,而是99)
因此,結果是99。
2020-10-08
舉報
2020-10-08
短路計算。真 and? 假 總是輸出假,所以True and 0輸出0,你也說了False和0等價,所以輸出0和輸出False等價。
假 or 真 總是輸出真,是指輸出真的那個語句,如果先賦值a = False, 0 or a 則輸出False即a 的值