课程
/后端开发
/Python
/初识Python
True and 'a=T' 计算结果是 'a=T' 继续计算 'a=T' or 'a=F' 计算结果还是 'a=T' 有大神解释下这个是为什么吗,第一个为什么不是true,二是a=t,后面为什么结果是a=t不是a=f???
2017-03-15
源自:初识Python 3-9
正在回答
a = Trueprint a and 'a=T' or 'a=F'
首先看前一部分,a and 'a=T',由于运算符是and,所以只要二者有一个为FALSE,结果便为FALSE,第一个a是TRUE,那么a and 'a=T'整体的结果便取决于'a=T',因而返回'a=T'。
现在就变为了 'a=T' or 'a=F',运算符是or,所以所以只要二者有一个为TRUE,结果便为TRUE,从前向后看,'a=T' 已经是TRUE了,不管后面的 'a=F'是true还是FALSE,结果都为true,因此结果取决于 'a=T',返回 'a=T'。
weibo_Puss_欣怡_0 提问者
逻辑与和逻辑或啊。。
在运算过程中,两边的值转成Boolean 类型,然后再算值 ,与运算如果返回true,则取后面的值,或运算返回true,则取前面的值 。
记得口诀:
and运算:在计算a and b时,如果a是false,则整个结果必定为false(只有两者都为True时候整个结果为True),因此返回a,如果a为True时,那整个结果取决于b,所以返回b
or运算:如果a时True,则整个结果一定为Tru(其中一个为真则为True),返回a值,如果a为false,则取决于b值,返回b
首先请百度:短路计算法则. 其次,在布尔计算中,'a=T'被视为True.
接下来,看具体分析:
True and 'a=T' 运算时:因为 'and'前面是True,计算结果取决于and后面的 'a=T'的True/False,所以结果是 'a=T';
'a=T' or 'a=F' 运算时: 因为'a=T'为True,所以 'or' 后面的不需要看,直接返回结果 'a=T'.
举报
学python入门视频教程,让你快速入门并能编写简单的Python程序