芒果不忙_
2020-12-03 13:50
既然都是真为啥a最后输出的不是('hello,', 'world')或('hello,', 'python,world')?而是('hello,', 'python')?没懂
在计算a or b时,如果 a 是 True(这里‘python’是True),则根据或运算法则,整个计算结果必定为 True,因此返回 a(输出python);如果 a 是 False,则整个计算结果必定取决于 b,因此返回 b(输出world)。
因为是 or 关系运算,两边有一个为真,结果为真。
左边为真即可判定结果。'python' 代表真。
计算机在读到a时判定a为真,a or b两者都为真,因此读到第一个就直接结束这次运行,若a为假则最后的结果取决于b,因为是或运算。若a and b 根据与运算,a为假则直接为假,a若a为真则最后的结果取决于b
因为短路原则,“a or b”,第一个a为真的话,or不会再看b,直接输出a
a = 'python' a有值所以就直接输出了 or后面就可以不输出
b = '' b没有值所以输出or后面的
如果b = ' ' 注意单引号中间是有空格 这样就会输出 or前面的 因为b里有值,值是空格而已
Python3 入门教程(新版)
154167 学习 · 1075 问题
相似问题