"因為Python把0、空字符串' '和None看成 False,其他數值和非空字符串都看成 True"這句話里None是如何理解?或者說None的表示形式是這樣:>>>print sure sure沒有用單引號和雙引號來表示字符串,所以就是表示None?
a = True
print a and 'a=T' or 'a=F'
計算結果不是布爾類型,而是字符串 'a=T',這是為什么呢?
因為Python把0、空字符串''和None看成?False,其他數值和非空字符串都看成?True,
a = True
print a and 'a=T' or 'a=F'
計算結果不是布爾類型,而是字符串 'a=T',這是為什么呢?
因為Python把0、空字符串''和None看成?False,其他數值和非空字符串都看成?True,
2016-03-03
舉報
2016-03-05
Python中的邏輯操作符 and,or 的返回值是不限制返回值類型。例如,object1 邏輯運算符(and/
or) object2, 其返回值結果肯定是兩個對象中的一個,不管這兩個對象到底什么類型的(Python把.........其他數值和非空字符串都看成?True),都返回對象本身,而不會明確的返回一個布爾型的結果。
上面是從幫助API幫助手冊上查到的。
?a and 'a=T' or 'a=F' ?這個復合邏輯運算表達式的結果是字符串 ?a=T, 所以print ?..........
當然你可以測試一下下面代碼,可以幫助你理解
a= True ?and 'abc'
b= '123' and 'abc'
print a?
print b
2016-03-03
對對對對