我有一个功能:
def check_user(self, **args):
allowed = ['name', 'screen_name', 'url', 'description', 'location']
arg_check = [val for val in args if val not in allowed]
if arg_check:
raise ValueError('Invalid args: ' + ' '.join(arg_check))
Run Code Online (Sandbox Code Playgroud)
它有效,但感觉非常单调.有没有更好的方法来检查这个?我希望不必写一个很大的if/else语句.
这样我就可以轻松地在循环中遍历args.
Fas*_*tle 10
我认为更pythonic版本会在函数定义中显式声明允许的参数.只需替换None为您的默认值即可.
def check_user(self, name=None, screen_name=None, url=None,
description=None, location=None):
# Do something here
# ...
Run Code Online (Sandbox Code Playgroud)