def function_with_one_star(*t): print(t, type(t)) def function_with_two_stars(**d) print(d, type(d))
上面定义了两个函数,分别用了带一个星号和两个星号的参数,它们是什么意思,运行下面的代码:
function_with_one_star(1, 2, 3) function_with_two_stars(a = 1, b = 2, c = 3)
结果如下
(1, 2, 3) <class 'tuple'> {'a': 1, 'c': 3, 'b': 2} <class 'dict'>
由此可见,带一个星号(*)参数的函数传人的参数存储为一个元组(tuple);
而带两个星号(*)参数的函数传人的参数则存储为一个字典(dict),并且在
调用是采取 a = 1, b = 2, c = 3 的形式。
由于传入的参数个数不定,所以当与普通参数一同使用时,必须把带星号的参
数放在最后。
本文介绍了Python中函数参数*args和**kwargs的作用。*args将多个位置参数收集为一个元组,而**kwargs则将关键字参数收集为字典。通过实例演示了这两种参数在函数定义中的使用方式。
645

被折叠的 条评论
为什么被折叠?



