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