這篇文章主要介紹“Python中的and和or怎么使用”,在日常操作中,相信很多人在Python中的and和or怎么使用問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Python中的and和or怎么使用”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
10多年的沐川網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。全網(wǎng)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整沐川建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)公司從事“沐川網(wǎng)站設(shè)計”,“沐川網(wǎng)站推廣”以來,每個客戶項目都認(rèn)真落實執(zhí)行。
一、and
在Python 中,and 和 or 執(zhí)行布爾邏輯演算,如你所期待的一樣,但是它們并不返回布爾值;而是,返回它們實際進(jìn)行比較的值之一。
舉例:
1 2 3 4 5 6 | >>>
'a'
and
'b'
'b'
>>>
''
and
'b'
''
>>>
'a'
and
'b'
and
'c'
'c'
|
在布爾上下文中從左到右演算表達(dá)式的值,如果布爾上下文中的所有值都為真,那么 and 返回最后一個值。
如果布爾上下文中的某個值為假,則 and 返回第一個假值
二、or:
1 2 3 4 5 6 7 8 | >>>
'a'
or
'b'
'a'
>>>
''
or
'b'
'b'
>>>
''
or [] or {}
{}
>>> 0 or
'a'
or
'c'
'a'
|
使用 or 時,在布爾上下文中從左到右演算值,就像 and 一樣。如果有一個值為真,or 立刻返回該值
如果所有的值都為假,or 返回最后一個假值
注意 or 在布爾上下文中會一直進(jìn)行表達(dá)式演算直到找到第一個真值,然后就會忽略剩余的比較值
三、and-or:
and-or 結(jié)合了前面的兩種語法,推理即可。
1 2 3 4 5 6 7 8 9 10 11 | >>> a=
'first'
>>> b=
'second'
>>> 1 and a or b
'first'
>>> (1 and a) or b
'first'
>>> 0 and a or b
'second'
>>> (0 and a) or b
'second'
>>>
|
這個語法看起來類似于 C 語言中的 bool ? a : b 表達(dá)式。整個表達(dá)式從左到右進(jìn)行演算,所以先進(jìn)行 and 表達(dá)式的演算。 1 and 'first' 演算值為 'first',然后 'first' or 'second' 的演算值為 'first'。
0 and 'first' 演算值為 False,然后 0 or 'second' 演算值為 'second'。
and-or主要是用來模仿 三目運(yùn)算符 bool?a:b的,即當(dāng)表達(dá)式bool為真,則取a否則取b。
and-or 技巧,bool and a or b 表達(dá)式,當(dāng) a 在布爾上下文中的值為假時,不會像 C 語言表達(dá)式 bool ? a : b 那樣工作。
四、安全使用and-or
1 2 3 4 5 6 | >>> a=
""
>>> b=
"second"
>>> (1 and [a] or [b])
[
''
]
>>> (1 and [a] or [b])[0]
''
>>>
|
由于 [a] 是一個非空列表,所以它決不會為假。即使 a 是 0 或者 '' 或者其它假值,列表 [a] 也為真,因為它有一個元素。
一個負(fù)責(zé)的程序員應(yīng)該將 and-or 技巧封裝成一個函數(shù):
1 2 3 | def choose(bool,a,b):
return
(bool and [a] or [b])[0]
print choose(1,
''
,
'second'
)
#''
|
到此,關(guān)于“Python中的and和or怎么使用”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
網(wǎng)頁名稱:Python中的and和or怎么使用
文章出自:http://weahome.cn/article/jspicj.html