Python中函数参数理解
Python中函数定义主要包含4类参数:
(1)必选参数;
(2)默认参数;
(3)可变参数;
(4)关键字参数;
必选参数
def power(x):
"""
x: 必选参数
"""
return x ** 2
默认参数
def power(x, n=2):
"""
n: 默认参数
"""
return x ** n
可变参数
即传入的参数个数是可变的。
def calc(*numbers):
"""
numbers: 可变参数
"""
print numbers
sum = 0
for n in numbers:
sum = sum + n * n
return sum
调用方式:
(1) calc(1, 2, 3)
(2) aa = [1, 2, 3]
calc(*aa)
参数numbers接收到的是一个tuple: (1, 2, 3)
关键字参数
关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。
def person(name, age, **kw):
"""
kw: 关键字参数
"""
print 'name:', name, 'age:', age, 'other:', kw
调用方式:
(1)person(‘Adam’, 45, gender=’M’, job=’Engineer’)
(2)kw = {‘city’: ‘Beijing’, ‘job’: ‘Engineer’}
person(‘Jack’, 24, **kw)
参数顺序
在Python中定义函数,可以用必选参数、默认参数、可变参数和关键字参数,这4种参数都可以一起使用,或者只用其中某些,但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数和关键字参数。
参考网址
廖雪峰的官方网站