课程
/后端开发
/Python
/初识Python
c= 'python' print 'hello,', c and 'why' 为什么结果选‘why’不选'python'
2018-01-29
源自:初识Python 3-9
正在回答
因为在and运算中,第一个c='python'是True,这时取决于下一位是True还是False,所以输出'why'
如果是or运算的话,第一个是True,整个语句就是True了,所以输出‘python’
邬玺邬玺 提问者
这个叫短路,在很多语言中都有的特性,在且的情况下,全部为真才为真,因为第一个c是真,所以它无法判断整个表达式是否为真或为假(前后都为真才是真,其中一个为假就是假了),他就会接着进行后面的,所以就是选择了后面的,如果这个条件表达式是或,前面的已经是真了,不需要管后面的是真是假都能证明整个表达式为真,就不会进行后面的,自然会选择前面的,这个东西在很多语言中都有,大致理解就是&&(and)的情况下前面为真进行后面,前面为假不进行后面,||(or)的情况下,前面为真不进行后面,前面为假进行后面,谢谢
在and运算过程中,第一个值如果为真,则返回第二个值。(第二个值决定最后结果) 第一个值如果为假,则结果一定为假,则返回第一个值。
and是串联运算,or是并联运算
举报
学python入门视频教程,让你快速入门并能编写简单的Python程序