函数参数
Python允许具有可变长参数的函数。使用*args作为函数参数,可以将任意数量的参数传递给该参数。然后,参数可以作为函数体中的元组访问。
def function(named_arg,*args):
print(named_arg)
print(args)
function(1,2,3,4,5)
运行结果:
1
(2, 3, 4, 5)
参数*args必须位于函数的命名参数之后,其没有key值,你可以使用任何名称替换args。
默认值
函数的命名参数可以通过给出默认值而成为可选参数,这些参数必须在不需要默认值参数的后面
def function(x,y,food="spam"):
print(food)
function(1,2)
function(3,4,"egg")
运行结果:
spam
egg
如果这个参数调用时给出,那么忽略默认值,否则使用默认值。
关键字参数
**kwargs(关键字参数)允许你处理预先定义的命名参数。关键字参数返回一个字典,其中键是参数名,值是参数值。
def my_func(x,y=7,*args,**kwargs):
print(kwargs)
my_func(2,3,4,5,6,a=7,b=8)
运行结果:
{'a':7,'b':8}
a和b是传递给函数调用参数的名称。
传递给*kwargsd 的参数不包含传递给args的参数。