国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

Python使用lambda拋出異常實現(xiàn)方法解析

瀏覽:5日期:2022-07-13 14:06:53

假設(shè)我們需要一個函數(shù)什么事都不干,只是拋出異常(在某些系統(tǒng)中有些handler就是干這事的),我們可以很直觀的寫出下面的代碼:

def func():raise Exception('this is a exception')

就這么一個簡單的功能,我們更希望用lambda實現(xiàn),自然就寫下了下面的代碼:

lambda :raise Exception('this is a exception')

但遺憾的是這樣是不行的~~~會出現(xiàn)SyntaxError: invalid syntax的錯誤。具體原因可以看Python Lambda

下面搜集實踐了幾種可用的奇技淫巧:

方法一

func = lambda: (_ for _ in ()).throw(Exception(’this is an exception’))

方法二

如果不在乎異常信息是什么:

func = lambda: 1/0

不難理解,這個函數(shù)會拋出ZeroDivisionError。這種方法其實代表了一類,比如也可以寫成:

func = lambda : [][0]

這類實現(xiàn)就是在lambda后面寫一定會拋出異常的表達(dá)式

方法三

一種非常陰霸的方式,只適合python3.x

func = lambda : exec(’raise(Exception('this is an exception'))’)

方法四:

尚未看懂的

# python2.xtype(lambda:0)(type((lambda:0).func_code)(1,1,1,67,’|0020210’,(),(),(’x’,),’’,’’,1,’’),{})(Exception())

# python3.xtype(lambda: 0)(type((lambda: 0).__code__)(1,0,1,1,67,b’|020210’,(),(),(’x’,),’’,’’,1,b’’),{})(Exception())

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 延庆县| 苍南县| 漯河市| 泽州县| 双峰县| 龙江县| 甘洛县| 邯郸市| 富蕴县| 西乌珠穆沁旗| 蚌埠市| 逊克县| 庆云县| 寻乌县| 肥东县| 蒙阴县| 安国市| 瑞丽市| 个旧市| 辽阳市| 鱼台县| 金坛市| 宝兴县| 苏尼特左旗| 绥滨县| 南召县| 乾安县| 通河县| 叙永县| 微博| 阿鲁科尔沁旗| 南陵县| 庆元县| 定州市| 南投市| 万载县| 额敏县| 宁城县| 大足县| 永康市| 萨嘎县|