最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python通過裝飾器檢查函數(shù)參數(shù)數(shù)據(jù)類型的方法

 更新時間:2015年03月13日 12:02:42   作者:niuniu  
這篇文章主要介紹了python通過裝飾器檢查函數(shù)參數(shù)數(shù)據(jù)類型的方法,涉及Python裝飾器的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了python通過裝飾器檢查函數(shù)參數(shù)數(shù)據(jù)類型的方法。分享給大家供大家參考。具體分析如下:

這段代碼定義了一個python裝飾器,通過此裝飾器可以用來檢查指定函數(shù)的參數(shù)是否是指定的類型,在定義函數(shù)時加入此裝飾器可以非常清晰的檢測函數(shù)參數(shù)的類型,非常方便

復制代碼 代碼如下:
def accepts(exception,**types):
    def check_accepts(f):
        assert len(types) == f.func_code.co_argcount, \
        'accept number of arguments not equal with function number of arguments in "%s"' % f.func_name
        def new_f(*args, **kwds):
            for i,v in enumerate(args):
                if types.has_key(f.func_code.co_varnames[i]) and \
                    not isinstance(v, types[f.func_code.co_varnames[i]]):
                    raise exception("arg '%s'=%r does not match %s" % \
                        (f.func_code.co_varnames[i],v,types[f.func_code.co_varnames[i]]))
                    del types[f.func_code.co_varnames[i]]
            for k,v in kwds.iteritems():
                if types.has_key(k) and not isinstance(v, types[k]):
                    raise exception("arg '%s'=%r does not match %s" % \
                        (k,v,types[k]))
            return f(*args, **kwds)
        new_f.func_name = f.func_name
        return new_f
    return check_accepts
def exmaple():
    @accepts(Exception,a=int,b=list,c=(str,unicode))
    def test(a,b=None,c=None)
        print 'ok'
    test(13,c=[],b='df')

希望本文所述對大家的Python程序設(shè)計有所幫助。

相關(guān)文章

  • python中字符串變二維數(shù)組的實例講解

    python中字符串變二維數(shù)組的實例講解

    下面小編就為大家分享一篇python中字符串變二維數(shù)組的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • Python 使用office365郵箱的示例

    Python 使用office365郵箱的示例

    這篇文章主要介紹了Python 使用office365郵箱的示例,幫助大家利用python進行高效辦公,感興趣的朋友可以了解下
    2020-10-10
  • python中random.randint和random.randrange的區(qū)別詳解

    python中random.randint和random.randrange的區(qū)別詳解

    這篇文章主要介紹了python中random.randint和random.randrange的區(qū)別詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • python圖形用戶界面tkinter之按鈕Button的使用說明

    python圖形用戶界面tkinter之按鈕Button的使用說明

    這篇文章主要介紹了python圖形用戶界面tkinter之按鈕Button的使用說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • 基于Python寫個"點球大戰(zhàn)"小游戲

    基于Python寫個"點球大戰(zhàn)"小游戲

    這篇文章主要為大家詳細介紹了如何利用Python寫個簡單的"點球大戰(zhàn)"小游戲,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2022-12-12
  • python 搭建簡單的http server,可直接post文件的實例

    python 搭建簡單的http server,可直接post文件的實例

    今天小編就為大家分享一篇python 搭建簡單的http server,可直接post文件的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • 基于python修改srt字幕的時間軸

    基于python修改srt字幕的時間軸

    這篇文章主要介紹了基于python修改srt字幕的時間軸,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • python3中pip3安裝出錯,找不到SSL的解決方式

    python3中pip3安裝出錯,找不到SSL的解決方式

    今天小編就為大家分享一篇python3中pip3安裝出錯,找不到SSL的解決方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • python tkinter基本屬性詳解

    python tkinter基本屬性詳解

    這篇文章主要介紹了python tkinter基本屬性詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-09-09
  • Python爬蟲新手入門之初學lxml庫

    Python爬蟲新手入門之初學lxml庫

    這篇文章主要給大家介紹了關(guān)于Python爬蟲新手入門之初學lxml庫的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12

最新評論

靖安县| 乐陵市| 桐柏县| 宣武区| 山西省| 武山县| 耿马| 额敏县| 延庆县| 金门县| 德江县| 安阳县| 屯门区| 昌乐县| 垫江县| 滦南县| 黄陵县| 漳平市| 苏尼特右旗| 介休市| 海盐县| 郸城县| 土默特左旗| 曲阜市| 金堂县| 广东省| 怀宁县| 桃江县| 岗巴县| 彭山县| 宣化县| 高碑店市| 三河市| 呼和浩特市| 华池县| 陇川县| 布拖县| 隆回县| 莆田市| 兴隆县| 林芝县|