1

関数への入力が次のとおりかどうかを確認するためにデコレータを使用できるかどうか疑問に思っていました。

  1. 辞書。辞書でない場合は、メソッドを実行します
  2. 辞書の場合は指定されたキーを取り出してメソッドに渡す

例:

@get_values(['username', 'password'])
    def log_me_in(username, password)
       # login logic
       if username == password:
           return True
       return False

それを呼び出す方法:

log_me_in(username = 10, password = 10)
>>>> True
log_me_in(10, 10)
>>>> True
log_me_in({'username': 10, 'password': 10})
>>>> True
log_me_in({'username': 10, 'password': 10, 'something': 10})
>>>> True
log_me_in({'username': 10, 'something': 10})
>>>> EXCEPTION
log_me_in({})
>>>> EXCEPTION
log_me_in([])
>>>> EXCEPTION
4

2 に答える 2