通常情况下,函数的参数的数量是固定的,Python支持可变参数的函数,也就是说,函数可以有任意数量的参数,也就是参数的数量是可变的,这通过使用*paras 或 ** paras来实现。
举个例子,创建一个包含可变形参的函数:
def foo(p, *tupParas, **dicParas):#遍历元组中的所有项目 for item in tupParas: print('item', single_item) #遍历字典中的所有项目 for key, value in dicParas.items(): print(first_part,second_part)
调用函数时,传递参数的方式:
foo(1,4,7,9,name='vic',age=23,ID=1001)
参数分为位置参数和关键字参数:
- 位置参数:1,4,7,9
- 关键字参数的格式: key=value,
函数中两个可变参数的区别是:
- *paras:从某一位置开始知道结束的所有的连续的位置参数(Positional Arguments)都被汇集到一个元组中,赋值给元组(Tuple)变量paras中。
- **paras: 从第一个关键字参数开始直至结束的所有关键字参数都将被汇集成一个名为 paras的字典(Dictionary)变量中。
参考文档: