课程
/后端开发
/Python
/初识Python
a and 'a=T' or 'a=F',为什么返回的不是布尔值True或False!
2015-02-13
源自:初识Python 3-9
正在回答
字符串在参与正确与否的判断时当作true,如果将其返回的话,是返回整个字符串,凭什么字符串返回后变成了true或者false?
a = True
T = 'string'
F = 'str'
print a and a==T or a==F
上面代码将会返回False,因为a==T和a==F本身就是boolean,所以最后返回的是boolean类型值
a = true
a and 'a=T'
true and '非空字符串'(true)
根据短路原理 为 '非空字符串' 即‘a=T’
‘a=T’ or ‘a=F’
'非空字符串'(true) or '非空字符串'(true)
根据短路原理 为 ‘a=T’
举报
学python入门视频教程,让你快速入门并能编写简单的Python程序