我正在尝试获取子类函数的 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])
但如果没有传递参数,则会失败。
我已经尝试过:
prefix = ''
if len(args):
prefix = args[0]
if 'prefix' in kwargs:
prefix = kwargs['prefix']
if prefix != '':
# Do something with the prefix
它可以工作,但不是很优雅。
还尝试寻找一种使用 kwargs 来 zip()
args 的方法。有什么想法吗?
最佳答案
这个应该按预期工作:
def list(self, *args, **kwargs):
prefix = kwargs.get('prefix', args[0] if args else '')
关于python - 获取作为 *args 和 **kwargs 传递的值的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20009882/