Python 函数中的拆包和打包

def count_name(*args, **kwargs):  # 在函数定义的时候,在形参上面使用 * 或 **,叫做打包
    """
    求任意个整数之和
    :param args: 位置参数
    :param kwargs: 关键字参数
    :return:
    """
    result = 0
    for item in args:
        result += item

    for item in kwargs.values():
        result += item
    return result


# 简单传值
# one_res = count_name(10, 20, 30, num1=40, num2=50)
# print(f"结果为:{one_res}")

one_tuple = (10, 20, 30)
one_dict = {"name": 40, "num2": 50}

# one_res = count_name(one_tuple, one_dict)     # 报错
# 在我们函数调用处使用一个星号 * ,或者两个 ** ,它就是拆包的过程
# 元祖、列表使用一个星号,字典{}拆包使用两个星号 **
one_res = count_name(*one_tuple, **one_dict)  # 序列类型的拆包,是在函数调用处,传入函数定义处
print(f"结果为:{one_res}")

*******请大家尊重原创,如要转载,请注明出处:转载自:https://www.cnblogs.com/shouhu/,谢谢!!******* 

猜你喜欢

转载自www.cnblogs.com/shouhu/p/12740804.html