我有一个功能:
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))
它有效,但感觉非常不敏感。有没有更好的方法来检查这个?我希望不必写一个很大的if / else语句。
这样我就可以轻松地遍历循环中的args。
答案 0 :(得分:10)
我认为更加pythonic版本会在函数定义中显式声明允许的参数。只需将None
替换为默认值即可。
def check_user(self, name=None, screen_name=None, url=None,
description=None, location=None):
# Do something here
# ...