7.1 可接受任意数量参数的函数:
你想构造一个可接受任意数量参数的函数:
为了能让一个函数接受任意数量的位置参数,可以使用一个*参数:
def avg(first, *rest):
print first
print rest
print type(rest)
return (first + sum(rest)) / (1.5 + len(rest))
print avg(1,2,3,4)
C:Python27python.exe C:/Users/TLCB/PycharmProjects/untitled/mycompany/cookbook/a22.py
1
(2, 3, 4)
<type 'tuple'>
2.22222222222
C:Python27python.exe C:/Users/TLCB/PycharmProjects/untitled/mycompany/cookbook/a22.py
1
(2, 3, 4)
<type 'tuple'>
2.22222222222
在这个例子中,rest 是由所有其他位置参数组成的元组,然后我们在代码中把它当成了一个序列
来进行后续的计算。
为了接受任意数量的关键字参数,使用一个以**开头的参数:
def make_element(name, value, **attrs):
print name
print value
print attrs
make_element(1,2,size='aaa',quantity=7)
C:Python27python.exe C:/Users/TLCB/PycharmProjects/untitled/mycompany/cookbook/a22.py
1
2
{'quantity': 7, 'size': 'aaa'}