python编程笔记----函数处理不定数量参数同时返回不定的值

标签: 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)

以上样例仅提供参考,实际情况还需要各位朋友自行分析

你可能感兴趣的:(python编程笔记----函数处理不定数量参数同时返回不定的值)