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

解释的看不明白

计算结果不是布尔类型,而是字符串‘a=T’,为什么

a=true
print a and 'a=T'or 'a=F'


正在回答

2 回答

a=ture,说明a为真,又因为Python把0、空字符串''和None看成 False,其他数值和非空字符串都看成 True,式中,a=ture为Ture,a=T也为Ture,计算(a  and  b,中,a若为ture,则整个计算结果取决于b,在这里,b为a=T)故,其结果为a=T。在计算(a or  b ,中,a若为ture,则其结果必然为ture,则结果返回a,在这里,a为a=T)故,最后结果为a=T。
在这一个题目中,你主要是要明白在a and b中的a、b和a or b 中的 a 、b分别在题目中是代表什么,这样就很容易明白了;还有,题目中的a=ture、a=T、a=F只是代表一个符号,并没有什么实际意义的

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

qq_蛻變_0 提问者

非常感谢!
2016-10-21 回复 有任何疑惑可以回复我~

and运算符的运算过程是这样的,如果 x and y中 x是true,那么输出 y 的值,如果x是false,那么不管y的值直接输出x的值,也就是false。而or的运算过程是这样的,如果x or y中x是true,那么直接输出x的值,如果x的值是false的话,输出y的值。

python将0、空字符串、none看作布尔值的false,其余的都为true,也就是说,对于字符串'a=T'来说它的布尔值是true,而它的值本身为一个字符串

那么对本题来讲,a and 'a=T'的运算结果是'a=T',而'a=T' or 'a=F'的运算结果是前者的值,也就是字符串'a=T'。

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

举报

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

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

进入课程

解释的看不明白

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