python入门五(函数)【5-4 python中定义可变参数】

5-4 python中定义可变参数

Python之定义可变参数

如果想让一个函数能接受任意个参数,我们就可以定义一个可变参数:

1 def fn(*args):
2     print args

可变参数的名字前面有个 * 号,我们可以传入0个、1个或多个参数给可变参数:

>>> fn()
()
>>> fn('a')
('a',)
>>> fn('a', 'b')
('a', 'b')
>>> fn('a', 'b', 'c')
('a', 'b', 'c')

可变参数也不是很神秘,Python解释器会把传入的一组参数组装成一个tuple传递给可变参数,因此,在函数内部,直接把变量 args 看成一个 tuple 就好了

定义可变参数的目的也是为了简化调用。假设我们要计算任意个数的平均值,就可以定义一个可变参数:

def average(*args):
    ...

这样,在调用的时候,可以这样写:

1 >>> average()
2 0
3 >>> average(1, 2)
4 1.5
5 >>> average(1, 2, 2, 3, 4)
6 2.4

任务

请编写接受可变参数的 average() 函数。

 1 def average(*args):
 2     sum = 0.0
 3     if len(args) == 0:
 4         return sum
 5     for x in args:
 6         sum = sum + x
 7     return sum/len(args)
 8 
 9 print average()
10 print average(1, 2)
11 print average(1, 2, 2, 3, 4)

猜你喜欢

转载自www.cnblogs.com/ucasljq/p/11597501.html
今日推荐