标签: python *arg **kwargs tuple
情况1. 同类型输出参数,同类型返回值,同处理过程.(类似批处理过程)
方案: 使用 *arg作为输出,tuple类型作为输出
适用场景:小批量参数
原理:
输出值:*args表示任何多个无名参数,它是一个tuple;
返回值:tuple,利用了tuple的自动打包,将多个值打包成单个tuple返回,这样就无须二次解析了.
样例:
def func(*args):
return tuple(arg for arg in args)
if __name__ == '__main__':
a, b, c, d = func(1, 2, 3, 4)
情况2: 不同类型输出参数,不同类型返回值,不同处理过程.
方案:使用**kwargs作为输出,tuple类型作为输出
适用场景:小批量参数
原理:
输出值:**kwargs表示关键字参数,它是一个dict
返回值:tuple,利用了tuple的自动打包,将多个值打包成单个tuple返回,这样就无须二次解析了.
def func(**kwargs):
l = []
if 'a' in kwargs:
a = kwargs['a']
l.append(a)
if 'b' in kwargs:
b = kwargs['b']
l.append(b)
if 'c' in kwargs:
c = kwargs['c']
l.append(c)
return tuple(l)
if __name__ == '__main__':
a, b, c= func(a=1, b=2, c=3)
print(a, b, c)
以上样例仅提供参考,实际情况还需要各位朋友自行分析