12.02函数笔记
形参 实参
def text(x,y):
print(x)
print(y)
text(1,2) 位置参数调用,与形参一一对应
x=1
y=2
text(y=y,x=x) 显示的结果依然为x=1 y=2,因为调用text()函数只要求是x跟x对应,y跟y对应 实际的意思是text(y=2,x=1),但text(x,y)第一个就要x,自然而然找x=2,y同样道理。
text(y=2,x=1) 关键字调用,就不看定义函数中xy的顺序了,在第一个位置y赋值,显示的就是y想赋的那个值。所以显示依旧为1,2
其中x和y即为形参(形式上在那摆着的 无实际参数赋给他,就无任何意义)也可称为位置参数
而1和2即为实参(实际的具体参数,占用实际内存变量的参数)
形参和实参一一对应的,个数不能超也不能少
text(x=2,3) 报错 因为第一个x=2,系统默认为关键字调用,第二个发现不是,因此报错
text(2,x=3) 报错 x被赋多个值
text(2,y=3) 正常运行
text(2,y=3,6) 报错 关键字参数不能出现在位置参数前边 text(2.z=6,y=3)正常
------------------------------------------------------ 分隔符 -----------------------------------------------------------------------
1、默认参数特点:调用函数的时候,默认参数不用必须传递
2、当参数个数不固定,则需要引出参数组的概念
def test(*args):
print(args)
test(1,2,3,4,5,6)
test(*[1,2,4,5,5,6])
def test(x,*args):
print(x)
print(args)
这样就可随便赋值了,不怕位置变量赋值个数超过定义函数的个数
3、把n个关键字参数,转换成字典的形式用到 **kwargs