本文由我司收集整编,推荐下载,如有疑问,请与我司联系
python
中几种不同类型的参数的区分及其定义时的顺序
2016/07/04 0
python
中,函数的参数除了最基本的必选参数,默认参数外,主要包含以下几种
特殊的参数类型:可变参数,关键字参数,命名关键字参数。它们的存在,使得函
数的参数更加自由。在函数定义时,他们定义的顺序为:必选参数、默认参数、可
变参数、命名关键字参数和关键字参数。
可变参数
可变参数传入的参数的数量是可变的。
定义可变参数和定义一个
list
或
tuple
参数相比,仅仅在参数前面加了一个
*
号。
在函数内部,参数
numbers
接收到的是一个
tuple
,因此,函数代码完全不变。但
是,调用该函数时,可以传入任意个参数,包括
0
个参数:
def calc(*numbers):
sum = 0
for n innumbers:
sum =sum n * n
return sum
calc(1,2)
5
calc()
0
nums= [1,2,3]
calc(*nums)
14
关键字参数
可变参数允许你传入
0
个或任意个参数,这些可变参数在函数调用时
自动组装为一个
tuple
。而关键字参数允许你传入
0
个或任意个含参数名的参数,这
些关键字参数在函数内部自动组装为一个
dict
。请看示例:
defperson(name, age, **kw):