课程
/后端开发
/Python
/初识Python
a = 'python'print 'hello', a and 'world'
hello,world
这是怎么回事?
2018-02-25
源自:初识Python 3-9
正在回答
'hello'是非空字符串返回true,a是非空字符串返回true,'world'是非空字符串返回true。
print 'hello', a and 'world'
在py的and短路运算中,a 、 'world'两者将做短路运算,两个都为真,输出后者('world');如果前者为false,将输出前者(a)。
print 'hello' and a and 'world'
如果都改成end,就是 'hello'、a 、'world'三者做短路运算,三者都为真,输出最后一个结果
镜轮凤麟 提问者
a and 'world 执行到a的时候并不能确定返回值是真还是假,要执行到'world'的时候才能确定返回值是真
因为执行到a的时候是真,但是后面是and,不能判断最终结果,所以还要继续执行,所以返回‘world’
举报
学python入门视频教程,让你快速入门并能编写简单的Python程序