python中的*args和**kwargs解释

2024-01-08 12:15:57

1.*args

*args用于传递不定数量的位置参数,它会将所有传入的位置参数打包成一个元组(tuple)。在函数定义时,可以在参数列表中使用*args来接收这些位置参数。简单举个例子:

def my_sum(*args):
    result = 0
    for num in args:
        result += num
    return result

print(my_sum(1, 2, 3, 4, 5,6))  # 输出21

2.**kwargs

**kwargs用于传递不定数量的关键字参数,将所有传入的关键字参数打包成一个字典(dict),有点类似key,value的格式。在函数定义时,可以在参数列表中使用**kwargs来接收这些关键字参数。简单举个例子:

def print_info(**kwargs):
    for key, value in kwargs.items():
        print(f"{key}: {value}")

print_info(name="Toney", age=22, gender="male")

?*args**kwargs必须放在参数列表的最后面,因为它们会接收所有剩余的位置参数和关键字参数。如果在它们之后还有其他参数,Python解释器将无法判断哪些参数应该传递给*args**kwargs

文章来源:https://blog.csdn.net/2301_77554343/article/details/135450968
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。