国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - python通過裝飾器檢查函數參數數據類型的方法

python通過裝飾器檢查函數參數數據類型的方法

2019-11-28 17:17niuniu Python

這篇文章主要介紹了python通過裝飾器檢查函數參數數據類型的方法,涉及Python裝飾器的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下

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

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

復制代碼代碼如下:
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程序設計有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产人成在线观看 | 欧美电影免费网站 | www日韩 | 国产不卡免费视频 | 污视频免费 | av一二三四 | 一区二区三区国产在线 | 99精品国自产在线 | 一级欧美 | 国产一区二区三区四区五区密私 | 免费日韩视频 | 久久久久久久av | 久久精品中文字幕 | 亚洲日韩成人 | 国产在线a | 亚洲欧美一区二区三区久久 | 欧美成人高清视频 | 午夜精品久久久久久久久 | 色综合网址 | 国产精品一区二区三区免费 | 日本成片视频 | 免费骚视频 | 天堂俺去俺来也www久久婷婷 | 精品国产乱码久久久久久丨区2区 | 日本二区视频 | 国产精品成人av | 亚洲成人免费在线 | 中文字幕国产一区二区 | 欧美精品1| 欧美精品在线一区 | 久久久精品一区二区 | 欧美精品1 | 久久三区| 天天草夜夜 | 久久不卡 | 久久久成人免费一区二区 | 国产资源在线观看 | 久久国产精品视频 | 一区二区三区在线免费视频 | 久久在线视频 | 亚洲一区二区三区高清 |