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