1
Python编程从入门到实践
1.9.2.1 5.2.1 默认参数和可变数量参数
5.2.1 默认参数和可变数量参数

定义函数时,可以直接为某些形参指定默认值。如果调用函数时没有传入对应参数的值,则使用定义函数时的默认值。

【例5.7】参数传递及函数调用范例。

程序运行结果如图5-8所示。

图5-8 运行结果

Python还支持不定长参数(Arbitrary Argument Lists),也就是参数数量是可变的,为此,定义函数时,在参数前面添加*来实现。带有星号的可变参数只能出现在参数列表的最后,调用时,这些参数被当作元组类型传递给函数。

【例5.8】输出两位学生的课程成绩单及各自的平均成绩,保存为funVarArgs.py。

因为两个学生的课程数目不一样,所以传递的成绩需要是不定长参数。调用以后,以元组的形式存入形参scores中。因为元组是一种序列结构,所以在函数中可以用for语句访问,将各科成绩逐个输出并且用于计算平均成绩。

程序运行结果如图5-9所示。

图5-9 运行结果