python boolean_Python成为专业人士笔记-Boolean 布尔操作符研究
專業(yè)人士筆記”系列目錄:創(chuàng)帆云:Python成為專業(yè)人士筆記--強(qiáng)烈建議收藏!每日持續(xù)更新!?zhuanlan.zhihu.com
‘a(chǎn)nd’ 和 ‘or’ 并不一定返回一個(gè)布爾值
當(dāng)使用or時(shí),如果為真,它將返回表達(dá)式中的第一個(gè)值,否則它將直接返回第二個(gè)值,其效果和“或等于”差不多,用代碼表現(xiàn)如下 :
def or_(a, b):
if a:
return a
else:
return b
對(duì)于and,如果為false,它將返回其第一個(gè)值,否則返回最后一個(gè)值,用代碼表現(xiàn)如下:
def and_(a, b):
if not a:
return a
else:
return b
一個(gè)簡(jiǎn)單的例子
在Python中,你可以使用兩個(gè)二進(jìn)制操作符比較單個(gè)元素 :
if 3.14 < x < 3.142:
print("x 近似于 pi")
在大多數(shù)編程語(yǔ)言中,上面的表達(dá)式將以一種與常規(guī)數(shù)學(xué)相反的方式進(jìn)行計(jì)算:
(3.14 < x) < 3.142 這樣的順序去計(jì)算;
但在Python中,它被視為 3.14 < x 并且 x < 3.142,就像大多數(shù)非程序員所期望的那樣
表達(dá)式計(jì)算過(guò)程
Python會(huì)將所有布爾表達(dá)式作最簡(jiǎn)化處理,即一旦發(fā)現(xiàn)可以不用繼續(xù)往下運(yùn)行,將直接中斷并返回,如下代碼:
def true_func():
print("true_func()")
return True
def false_func():
print("false_func()")
return False
true_func() or false_func()
#輸出:true_func() #運(yùn)行到這里不繼續(xù)向下運(yùn)行了
#輸出:True 兩個(gè)只要有一個(gè)True就返回True
false_func() or true_func()
# 輸出:false_func()
# 輸出:true_func()
#輸出:True #兩個(gè)函數(shù)都被運(yùn)行,到第2個(gè)函數(shù)時(shí),發(fā)現(xiàn)是True,所以仍然返回True
true_func() and false_func()
# true_func()
# false_func()
# False 第一個(gè)函數(shù)為T(mén)rue,繼續(xù)運(yùn)行第二個(gè)函數(shù)發(fā)現(xiàn)是False,那么整體返回也是False
false_func() and false_func()
# false_func()
# 輸出:False 運(yùn)行第一個(gè)就發(fā)現(xiàn)False,整體表達(dá)式結(jié)束,返回False
and 操作符
當(dāng)且僅當(dāng)兩個(gè)參數(shù)都為真時(shí),計(jì)算第二個(gè)參數(shù)。否則計(jì)算為第一個(gè)falsey參數(shù)
x = True
y = True
z = x and y # z = True
x = True
y = False
z = x and y # z = False
x = False
y = True
z = x and y # z = False
x = False
y = False
z = x and y # z = False
x = 1
y = 1
z = x and y # z = 1,注意他們不是總返回布爾值
x = 0
y = 1
z = x and y # z = 0 很好理解,你就把1看做True,0看做False
x = 1
y = 0
z = x and y # z = 0 (看上面)
x = 0
y = 0
z = x and y # z = 0 (看上面)
上面示例中的1可以更改為任何真值,而0可以更改為任何假值:
在python中,假值為‘0’或'()’,真值為所有非0非空數(shù)值,你可以直接在代碼里嘗試
or 操作符
如果其中一個(gè)是真值, 返回表達(dá)式中第一個(gè)值;如果兩個(gè)參數(shù)都是假的,則返回第二個(gè)值。
x = True
y = True
z = x or y # z = True
x = True
y = False
z = x or y # z = True
x = False
y = True
z = x or y # z = True
x = False
y = False
z = x or y # z = False
x = 1
y = 1
z = x or y # z = 1
x = 1
y = 0
z = x or y # z = 1
x = 0
y = 1
z = x or y # z = 1
x = 0
y = 0
z = x or y # z = 0 (返回第2個(gè)值)
上面示例中的1可以更改為任何真值,而0可以更改為任何假值:
在python中,假值為‘0’或'()’,真值為所有非0非空數(shù)值,你可以直接在代碼里嘗試
not 操作符
它返回與下列語(yǔ)句相反的語(yǔ)句:
x = True
y = not x # y = False
x = False
y = not x # y = True
今天的分享就到這里,禁止轉(zhuǎn)載,違者必究!
總結(jié)
以上是生活随笔為你收集整理的python boolean_Python成为专业人士笔记-Boolean 布尔操作符研究的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python frame如何置顶_Pyt
- 下一篇: python八大选择排序_python之