日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Python教程:python帶參數(shù)的裝飾器怎么寫?

1、裝飾器說明

裝飾器看上去并沒有任何參數(shù)(使用 @ 時被裝飾的方法作為隱式參數(shù)傳遞給裝飾器)。但是,有時候讓裝飾器自帶一些參數(shù),可以提供更靈活的應(yīng)用。

2、實例

我們改寫 requires_ints,使其還可以限制被裝飾函數(shù)的參數(shù)的數(shù)量:

from functools import wraps
 
def requires_ints(count=0):
    
    def decorator(func):
        @wraps(func)
        def wrapper(*args, **kwargs):
            values = [i for i in kwargs.values()]
            args_list = list(args) + [i for i in kwargs.values()]
            
            if count == 0:
                # Not limit
                pass
            elif len(args_list) > count:
                raise Exception(f'The number of arguments cannot more than {count}')
            
            for arg in args_list:
                if not isinstance(arg, int):
                    raise TypeError('Only accept integers.')
            return func(*args, **kwargs)
 
        return wrapper
    return decorator
 
 
@requires_ints(5)
def add(*args):
    '''Return the sum of all arguments'''
    return sum(args)

以上就是python帶參數(shù)裝飾器的寫法,希望能對大家有所幫助,更多知識盡在python學(xué)習(xí)網(wǎng)。


網(wǎng)頁名稱:創(chuàng)新互聯(lián)Python教程:python帶參數(shù)的裝飾器怎么寫?
分享網(wǎng)址:http://www.5511xx.com/article/dpeiigo.html