"因为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
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
举报