欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2020年08月20日 11:03:32   作者:Tacey Wong  
這篇文章主要介紹了Python使用lambda拋出異常實現(xiàn)方法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

假設(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.x
type(lambda:0)(type((lambda:0).func_code)(
1,1,1,67,'|\0\0\202\1\0',(),(),('x',),'','',1,''),{}
)(Exception())

# python3.x
type(lambda: 0)(type((lambda: 0).__code__)(
1,0,1,1,67,b'|\0\202\1\0',(),(),('x',),'','',1,b''),{}
)(Exception())

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

相關(guān)文章

  • 詳解Python中的文件操作

    詳解Python中的文件操作

    在日常生活中,文件操作主要包括打開、關(guān)閉、讀、寫等操作,這篇文章主要為大家詳細(xì)介紹了Python中這些文件操作的實現(xiàn),需要的可以了解下
    2023-07-07
  • Jinja2實現(xiàn)模板渲染與訪問對象屬性流程詳解

    Jinja2實現(xiàn)模板渲染與訪問對象屬性流程詳解

    要了解jinja2,那么需要先理解模板的概念。模板在Python的web開發(fā)中廣泛使用,它能夠有效的將業(yè)務(wù)邏輯和頁面邏輯分開,使代碼可讀性增強(qiáng),并且更加容易理解和維護(hù)。模板簡單來說就是一個其中包含占位變量表示動態(tài)部分的文,模板文件在經(jīng)過動態(tài)賦值后,返回給用戶
    2023-03-03
  • Python入門教程(二十四)Python的迭代器

    Python入門教程(二十四)Python的迭代器

    這篇文章主要介紹了Python入門教程(二十四)Python的迭代器,Python是一門非常強(qiáng)大好用的語言,也有著易上手的特性,本文為入門教程,需要的朋友可以參考下
    2023-04-04
  • 利用Chatgpt開發(fā)一款加減乘除計算器(Python代碼實現(xiàn))

    利用Chatgpt開發(fā)一款加減乘除計算器(Python代碼實現(xiàn))

    這篇文章主要為大家詳細(xì)介紹了如何利用Chatgpt開發(fā)一款加減乘除計算器(用Python代碼實現(xiàn)),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2023-02-02
  • matplotlib之屬性組合包(cycler)的使用

    matplotlib之屬性組合包(cycler)的使用

    這篇文章主要介紹了matplotlib之屬性組合包(cycler)的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • Python為何不能用可變對象作為默認(rèn)參數(shù)的值

    Python為何不能用可變對象作為默認(rèn)參數(shù)的值

    這篇文章主要介紹了Python為何不能用可變對象作為默認(rèn)參數(shù)的值,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07
  • 利用Python編寫一個鬧鐘,治好你的拖延癥

    利用Python編寫一個鬧鐘,治好你的拖延癥

    起床真是令人困擾的事情,有的人根本不用定鬧鐘,但有的人提前半個小時鬧鐘都叫不醒。本文將分享利用Python編寫的鬧鐘腳本,希望能治好你的拖延癥
    2022-02-02
  • python方向鍵控制上下左右代碼

    python方向鍵控制上下左右代碼

    這篇文章主要介紹了python方向鍵控制上下左右代碼,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • Python+Tkinter制作專屬圖形化界面

    Python+Tkinter制作專屬圖形化界面

    這篇文章主要是帶著大家通過Python Tkinter制作一個屬于自己的GUI圖形化界面,可以用于設(shè)計簽名的哦,感興趣的小伙伴快跟隨小編一起學(xué)習(xí)一下吧
    2022-04-04
  • python實現(xiàn)啟動一個外部程序,并且不阻塞當(dāng)前進(jìn)程

    python實現(xiàn)啟動一個外部程序,并且不阻塞當(dāng)前進(jìn)程

    這篇文章主要介紹了python實現(xiàn)啟動一個外部程序,并且不阻塞當(dāng)前進(jìn)程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12

最新評論