2

我有一个功能:

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。

4

1 回答 1

10

我认为更 Pythonic 的版本会在函数定义中明确声明允许的参数。只需替换None为您的默认值即可。

def check_user(self, name=None, screen_name=None, url=None,
               description=None, location=None):
    # Do something here
    # ...
于 2013-07-23T22:06:11.447 回答