成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

在Python中妙用短路機制

開發
Python中的短路機制非常有用,跟很多其他編程語言中的短路機制作用類似,接下來讓我們通過幾個簡單的例子總結Python中可用的幾種短路機制。

不同于物理學中的「短路」(Short circuit)那般危險,Python中的短路機制非常有用,跟很多其他編程語言中的短路機制作用類似,一句話概括就是一段條件判斷表達式在從左到右按順序執行的過程中,提前確定了表達式的True/False結果,從而終止右邊剩余的運算。

讓我們通過幾個簡單的例子總結Python中可用的幾種短路機制:

X or Y

X or Y是最常用的短路機制,我們都知道只要X或Y中至少有一個為True時,整段判斷表達式就為True,譬如下面的例子中,本來1 / 0會觸發ZeroDivisionError: division by zero錯誤,但因為or左邊的部分已經邏輯判斷為True,Python的短路機制就會停止后續的執行,直接返回or左邊的結果:

而當or左邊部分邏輯判斷為False時,則會返回右邊部分的結果:

X and Y

類似X or Y的機制,X and Y會在X邏輯判斷為False時提前終止后續的運算,只返回X部分的結果:

any()

Python中的any()函數用于接受序列形式的多個等待邏輯判斷的部分,并在序列中至少有一個部分邏輯判斷為True時返回True。

而只要any()按順序遇到第一個邏輯判斷為True的結果,也會觸發短路,正如下面的例子中只花費3秒就完成了判斷過程,因為循環到1時觸發了短路:

all()

Python中的all()函數類似any(),會在傳入序列中每個部分邏輯判斷均為True時返回True,其也會在按順序遇到第一個False時終止后續運算:

「比較運算符」

Python中用于數值大小比較的各個運算符也具有短路機制,從左到右,一旦執行到判斷結果為False的部分都會終止運算:

「實際使用示例」

當我們的代碼中涉及到條件判斷,且參與條件判斷的值具有一定的「運算成本」時,就可以靈活運用短路機制來提升運行效率,譬如我們需要根據用戶id信息向多個接口查詢其權限,全部滿足時將其標記為“超級權限”,就可以利用到短路機制。

這里我們隨意寫幾個具有時間成本的函數作為接口示意:

def api1(id_):

time.sleep(1)

return id_ in ['admin1', 'admin2']

def api2(id_):

time.sleep(1)

return id_ in ['admin1', 'admin2', 'su1', 'su2']

def api3(id_):

time.sleep(1)

return id_ not in ['ban1', 'ban2', 'ban3']

利用短路機制在用戶第一次沒有滿足條件時就終止后續判斷,寫法簡潔:

責任編輯:趙寧寧 來源: Python大數據分析
相關推薦

2017-01-12 15:42:53

HookPythonImport

2010-09-08 15:16:46

clearCSS

2010-09-09 16:54:05

CSSclear

2024-05-28 12:25:33

Pythonglobals?函數

2021-03-23 08:21:06

GolangPython字符

2010-08-30 16:02:06

CSSclear

2021-02-16 08:16:09

適配器模式MybatisJava

2024-12-19 09:00:00

字典視圖對象Python

2024-12-30 08:02:40

2021-06-29 07:04:38

Nacos服務配置

2023-02-24 14:52:20

Redis存儲開發

2010-09-10 15:16:51

CSSdisplay

2010-03-10 17:57:54

Python編程語言

2021-10-20 07:36:03

Python構造方法

2023-05-22 10:40:22

WeakMapsMaps

2010-09-10 13:25:22

2025-03-13 13:00:00

架構DNSIP

2025-04-28 09:00:00

DNS架構網絡

2009-06-03 09:01:41

微軟Windows 7操作系統

2009-05-24 15:03:34

加密文件夾用戶
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲成人高清 | 欧美日韩国产精品一区 | 欧美二区三区 | 一区亚洲 | 国产成在线观看免费视频 | 国产一卡二卡三卡 | 在线不卡| 亚洲精品一区二区三区蜜桃久 | 亚洲综合在线视频 | 在线观看深夜视频 | 亚洲美女网站 | 亚洲精品中文在线观看 | 亚洲精品久久区二区三区蜜桃臀 | 欧美又大粗又爽又黄大片视频 | 亚洲综合大片69999 | 毛片a级 | 中文字幕高清免费日韩视频在线 | 自拍视频在线观看 | 国产激情91久久精品导航 | 亚洲综合色网 | 欧美中文在线 | 中文二区 | 黄色日本片 | 久久综合成人精品亚洲另类欧美 | 在线亚洲免费 | 国产乱码精品一区二区三区中文 | xx性欧美肥妇精品久久久久久 | 四虎影院一区二区 | 亚洲精品视频一区二区三区 | 欧美国产日韩一区二区三区 | 国产激情精品 | 久久人人国产 | av在线一区二区 | 玖玖玖在线| 国产一区在线免费观看视频 | 国产电影一区二区在线观看 | 成人在线免费观看视频 | 国产成人在线视频播放 | 欧美一卡二卡在线 | 国产在线视频在线观看 | 免费成人国产 |