7.1 编写可接受任意数量参数的函数
>>> def avg(first,*rest):
... return(first+sum(rest))/(1+len(rest))
...
>>> avg(1,2)
1.5
>>> avg(1,2,3,4,5,6)
3.5
>>>
- 上述方法中,rest是一个元组结构的参数
- 如果想要接受任意数量的关键字参数,可以使用**开头的参数
>>> def me(name,value,**attr):
... print(*attr)
... print(attr)
... print("%s = %s" % (name,value))
...
>>>
>>> me("test","100",size=10,tt=20)
size tt
{'size': 10, 'tt': 20}
test = 100
>>>
- attr 是一个字典,包含了所有传递过来的key和value
- 如果想要传递任意数量的位置参数和关键字参数,可以结合和*
>>> def mm(*w,**k):
... print(w)
... print(k)
...
>>> mm(1,2,3,name="n",value="v")
(1, 2, 3)
{'name': 'n', 'value': 'v'}
网友评论