课程
/后端开发
/Python
/初识Python
hello''已经是True了,根据短路法则就应该只输出hello啊,为什么最后输出来的是hello world
2019-09-28
源自:初识Python 3-9
正在回答
b = '' #b为假False print 'hello,', b or 'world' # hello,这个是个字串符,没有参与运算,逗号后的b or 'world'这两个才参与了运算,运算结果为真world(或运算,一方为真取真)。
#所以得出的结果应该是hello,(字串符)world(or运算得出的真值)
我是这么解释的。希望对你有帮助。
慕圣5556514 提问者
首先(‘hello’)为字符串是不参与判定的
print我理解为运行 a 为真时or命令规则为直接判真 所以运行后应该是“hello python”
b为空字符那么视为假 根据or命令规则为进行下一步判定 但是下一步的‘world’是一个字符串则视为真 所以运行后应该是‘hello world’ 对于or和and这两个命令的理解 我可能理解的比较土 呵呵 我就记着"or"理解为或者的意思 "and"理解为并且或是而且的意思 呵呵 说了这么多 也不知道对不对 那么这个判定我个人是这么理解的 如果不对请大神指正
定义:在计算 a or b 时,如果 a 是 True,则根据或运算法则,整个计算结果必定为 True,因此返回 a;如果 a 是 False,则整个计算结果必定取决于 b,因此返回 b。
a or b
此处b未知,所以返回world,输出hello world
举报
学python入门视频教程,让你快速入门并能编写简单的Python程序