上节课我们初步了解了什么是函数,并讲了自定义函数的定义方式。Python中的函数如果深入研究还有很多的知识,我们这里只针对青少年编程考级的内容讲一下函数的部分进阶操作。
一、函数的可选位置参数
在讲这两种参数前,先让大家思考一个问题。如果要写一个函数,计算两个数的乘积,我们很容易就能写出来:
def times(a, b):
c = a * b
return c
那如果让大家写一个函数,计算若干个数的乘积。我们该怎么写呢?乘数的个数不确定,用户可能算2个数的乘积、3个数的乘积,甚至算100个数的乘积。
那按照我们之前讲的内容,函数的形参的个数是固定的,有几个形参调用函数时就要就几个实参,那这个函数是不是就没法写了呢?这就要引入一个新的知识:可选位置参数。
可选位置参数(positional arguments)在形参中使用“*”开头,后面写变量名,大家约定俗成写成“*args”,它可以将实参的多个值以元组的方式传入函数中。
我们看下面的例子:
def function(*args):
print(args)
function(1, 2, 3)
#(1, 2, 3)
有了可选位置参数,我们可以很好解决前面讲的计算若干个数乘积的问题了,我们看一下代码: