02.17-functions
函数
接收不定参数
使用如下方法,可以使函数接受不定数目的参数:
def add(x, *args):
total = x
for arg in args:
total += arg
return total
这里,*args
表示参数数目不定,可以看成一个元组,把第一个参数后面的参数当作元组中的元素。
print (add(1, 2, 3, 4))
print (add(1, 2))
10
3
这样定义的函数不能使用关键词传入参数,要使用关键词,可以这样:
def add(x, **kwargs):
total = x
for arg, value in kwargs.items():
print ("adding ", arg)
total += value
return total
print (add(10, y=11, z=12, w=13))
adding y
adding z
adding w
46
再看这个例子,可以接收任意数目的位置参数和键值对参数:
def foo(*args, **kwargs):
print (args, kwargs)
foo(2, 3, x='bar', z=10)
(2, 3) {'x': 'bar', 'z': 10}
不过要按顺序传入参数,先传入位置参数 args ,在传入关键词参数 kwargs 。
返回多个值
函数可以返回多个值:
from math import atan2
def to_polar(x