Python学习小记

 

参数传递:

https://mp.weixin.qq.com/s/Nq79Qqu2LtA84IjcZaI3-w

 

def func(x, y=5, *a, **b):

print x, y, a, b

 

在混合使用时,首先要注意函数的写法,必须遵守:

带有默认值的形参(arg=)须在无默认值的形参(arg)之后;

元组参数(*args)须在带有默认值的形参(arg=)之后;

字典参数(**kargs)须在元组参数(*args)之后。

 

调用时也需要遵守:

指定参数名称的参数要在无指定参数名称的参数之后;

不可以重复传递,即按顺序提供某参数之后,又指定名称传递。

 

而在函数被调用时,参数的传递过程为:

1.按顺序把无指定参数的实参赋值给形参;

2.把指定参数名称(arg=v)的实参赋值给对应的形参;

3.将多余的无指定参数的实参打包成一个 tuple 传递给元组参数(*args);

4.将多余的指定参数名的实参打包成一个 dict 传递给字典参数(**kargs)。

 

posted @ 2018-10-27 22:19  dgi  阅读(165)  评论(0编辑  收藏  举报