1. 位置参数(又叫必选参数)
位置参数就是平时用到最多的情况:函数实参与形参数量相等、位置逐一对应情况,
如下 x, n 就是位置参数;
def power(x, n):
s = 1
while n > 0:
n = n - 1
s = s * x
return s
2. 默认参数
函数定义时,就已经给定值,如下 n=2 就是默认参数
注意:位置参数在前,默认参数在后
def power(x, n=2):
s = 1
while n > 0:
n = n - 1
s = s * x
return s
3.可变参数: *args
python中使用一个※号标注可变参数,传入的多个参数将被封装为一个元组,传入函数内
def calc(*numbers):
sum = 0
for n in numbers:
sum = sum + n * n
return sum
加一个 * 就实现可变参数的方式,其实在函数内部,参数numbers接收到的是一个tuple
4.关键字参数 : **kwargs
对于同时带有参数名(变量名)和实际传入值的关键字参数,也可以一次性传入多个,即可变长关键字参数;与可变函数不同,可变关键字参数,需要使用两个星号来进行说明,同时实际传入过程python会对其进行转化为字典传入
def fun(a,b,*args,**kwargs):
print("a=",a)
print("b=",b)
print("args=",args)
print("kwargs=",kwargs)
fun(1,2,3,4,5)
=>
a=1
b=2
args=(3,4,5,)
kwargs={}
fun(1,2,2,2,2,c=3,d=4)
=>
a=1
b=2
args=(2,2,2)
kwargs={'c':3,'d':4}