4
我是新來的裝飾器,並試圖寫一個讓我得到命名參數,如果它存在,否則異常或什麼。python裝飾器提取參數
爲了解釋:
# my decorator!
def test_mem(key, modifier):
def deco(func):
@wraps(func)
def wrapper(*args, **kwargs):
# something here, s.t.
# print(args + modifier) <------
return func(*args, **kwargs)
return wrapper
return deco
我的功能
@test_mem('username', modifier = '_allowed')
def myfunc(arg1, username = None, stuff = None):
# logic, this code is always run!
return 'Done'
myfunc(1, 3)
>>>> '3_allowed'
myfunc(1, username = 3)
>>>> '3_allowed'
myfunc(1, stuff = [])
>>>> Exception
當我編碼,我的例1和2是相互排斥的,例如,當工作1例2打破了,反之亦然。我正在嘗試使用它來創建一些自動鍵。