课程
/后端开发
/Python
/初识Python
True and 'a=t' 中的 'a=t'不是非空字符串吗(既true)? 那么 true and true 为什么不等于true呢?
2016-04-15
源自:初识Python 3-9
正在回答
python里面其他数据类型往bool型转换时 可以隐性转化,
并且and 和 or 在python中也是遵循 “短路”原则的:
a and b, 如果a为False, 则直接返回a的值,如果a为True,则返回b的值
a or b , 如果 a为False,返回b的值,如果a为True,返回a的值。
所以
True and 'a=t' ## 返回 'a=t'
根据法则,
True and 'a=t' ,即
true and true 为真,则输出后一个, ‘a=T’
因为是与运算,必须两个都为真时,才会判断为真,因此,当a为真是,b就将决定此判断是否为真,所以,b在这种情况下,决定了结果。输出b。
当a为假时,此判断直接为假,a决定了结果,则输出a
a = True print a and b
既然a = True,那么结果取决于and后面的变量b,无论是真还是假,输出一定是是b,Ture and True输出是True哈,你可能搞错了
print True and True
运行完是等于ture的呀。
wimpixel 提问者
举报
学python入门视频教程,让你快速入门并能编写简单的Python程序