最新国产好看的视频,伊人天堂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ù)的類型,非常方便

復(fù)制代碼 代碼如下:
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ū)別詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • python圖形用戶界面tkinter之按鈕Button的使用說明

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

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

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

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

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

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

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

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

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

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

    python tkinter基本屬性詳解

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

    Python爬蟲新手入門之初學(xué)lxml庫

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

最新評論

康定县| 高要市| 新安县| 龙山县| 沂南县| 轮台县| 方山县| 昌平区| 舟山市| 酉阳| 温宿县| 赞皇县| 望谟县| 沂南县| 西畴县| 调兵山市| 衡水市| 聂拉木县| 高淳县| 通河县| 德惠市| 新沂市| 五原县| 莱州市| 诸城市| 江源县| 麦盖提县| 枣阳市| 四川省| 广德县| 云阳县| 驻马店市| 无锡市| 石泉县| 绵竹市| 绥化市| 闽侯县| 合山市| 内丘县| 阳泉市| 浦东新区|