为了账号安全,请及时绑定邮箱和手机立即绑定

True and 'a=t' 中的 'a=t'不是非空字符串吗(既true)? 那么 true and true 为什么不等于true呢?

True and 'a=t' 中的 'a=t'不是非空字符串吗(既true)? 那么 true and true 为什么不等于true呢?

正在回答

4 回答

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'


2 回复 有任何疑惑可以回复我~

根据法则, 

True and 'a=t'  ,即

 true and true 为真,则输出后一个, ‘a=T’

因为是与运算,必须两个都为真时,才会判断为真,因此,当a为真是,b就将决定此判断是否为真,所以,b在这种情况下,决定了结果。输出b。

当a为假时,此判断直接为假,a决定了结果,则输出a

3 回复 有任何疑惑可以回复我~
a = True
print a and b

既然a = True,那么结果取决于and后面的变量b,无论是真还是假,输出一定是是b,Ture and True输出是True哈,你可能搞错了

1 回复 有任何疑惑可以回复我~
print True and True

运行完是等于ture的呀。

http://img1.sycdn.imooc.com//5710750a00011c2509020254.jpg

0 回复 有任何疑惑可以回复我~
#1

wimpixel 提问者

看了短路算法明白了. 因为这个是"and"布尔算法,如果两边有一个false,那整个计算就是false. 这题,True and 'a=t',的结果之所以是"a=t" 是因为整个计算结果取决于 "a=t".
2016-04-15 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758623    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

True and 'a=t' 中的 'a=t'不是非空字符串吗(既true)? 那么 true and true 为什么不等于true呢?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信