*args 和 **kwargs
很多Python新手都无法搞清*args与**kwargs这两个魔术变量。那么他们到底是什么呢?让我来告诉你。在实际程序中,我们没有必要非得写成*args与**kwargs这样的形式,你也可以写成*var与**vars。写成*args与**kwargs的形式只是一种惯例。 ## *args的用法 *args与**kwargs主要用于函数的定义。*args与**kwargs允许你将可变数量的参数传递给函数。这里的可变意味着你事先是不知道用户可以向你传递多少参数。因此在这种情况下你可以使用这两个关键字。*args用于向函数发送没有关键字的可变长度参数列表。以下是一个例子:
1 | def test_var_args(f_arg, *args): |
这会产生以下结果:
1 | first normal arg: a |
**kwargs
kwargs允许你将键值对[也就是字典形式的参数]的可变长度的参数传递给函数。如果要在函数中处理命名参数,则应该使用**kwargs,下面是一个例子:
1 | def greet_me(**kwargs): |
使用*args和*kwargs来调用函数
首先我们先定义一个函数:
1 | def test_args_kwargs(arg1, arg2, arg3): |
现在,可以用*args和**kwargs来将参数传递给这个函数:
1 | args = ("two", 3, 5) |
- 标题: *args 和 **kwargs
- 作者: Oliver xu
- 创建于 : 2019-02-12 19:11:20
- 更新于 : 2025-11-06 21:07:29
- 链接: https://blog.oliverxu.cn/2019/02/12/args-和-kwargs/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论