python里and和or的理解


示例1:

a='2'

if a == '1' or a=='2':
    print('yes')
else:
    print('no')

示例1中,我们可以输入1或者2,那么可以得到预期的yes或者no

示例2:

a='2'

if a == '1' or '2':
    print('yes')
else:
    print('no')


在示例2中,会发现无论我们输入什么都会得到yes.
我们看下or的运算原理:or是从左到右计算表达式,返回第一个为真的值。
所以a == 1' or '2'会永远为True

示例3:

a='2'

if a == ('1' or '2'):
    print('yes')
else:
    print('no')


在示例3中,会发现只有输入1的时候,会得到预期结果yes.
同理,我们看下or的运算原理:or是从左到右计算表达式,如果有一个值为真,or 立刻返回该值;如果所有的值都为假,or 返回最后一个假值.
所以a == '('1' or '2')的结果为1

总结

主要是理解并记住 and 和 or 的概念.

在Python 中,and 和 or 执行布尔逻辑演算,如你所期待的一样,但是它们并不返回布尔值;而是,返回它们实际进行比较的值之一

and: 从左到右演算表达式,如果布尔上下文中的所有值都为真,那么 and 返回最后一个值;如果布尔上下文中的某个值为假,则 and 返回第一个假值

or: 从左到右演算表达式,如果有一个值为真,or 立刻返回该值;如果所有的值都为假,or 返回最后一个假值


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM