我正在尝试获取可能存在或不存在于子类函数的args或kwargs中的前缀值。
原始功能:
def list(self, prefix='', delimiter='', marker='', headers=None):
pass
子类功能:
def list(self, *args, **kwargs):
# get prefix from args[0] or kwargs['prefix']
pass
我试过了:
kwargs.get('prefix', args[0])
但如果没有传递args则失败。
我试过了:
prefix = ''
if len(args):
prefix = args[0]
if 'prefix' in kwargs:
prefix = kwargs['prefix']
if prefix != '':
# Do something with the prefix
它有效,但不是很优雅。
还尝试用kwargs搜索zip()
args的方法。有什么想法吗?
答案 0 :(得分:3)
这个应该按预期工作:
def list(self, *args, **kwargs):
prefix = kwargs.get('prefix', args[0] if args else '')