def test(x,y,z): #这添加形参 print(x) print(y) print(z) test(1,2,3) # 这里添加实参
1、形参和实参
2、位置参数和关键字
#test(1,2)#位置参数调用:实参与形参一一对应,不能多,不能少 #test(y=1,x=2)#关键字 :与形参顺序无关 #test(y=1,x=2,1)# 关键字参数不能放在位置参数前面 #test(1,z=2,y=5)
3、默认参数:调用函数的时候,默认函数可有可无。
用途:1.默认安装值 2.固定默认值
def test(x,y=2): print(x) print(y) test(1,y=3)
参数组:参数组要放在最后面如test3(name,x=2,*args)
#def test(*gg): #可接受任意数量实参,变成元组的形式 print(gg)
test(1,2,3,4,5,5,5,5,5,7,9) test(*[1,2,3,4,5]) # gg=tuple([1,2,3,4,5])
*args:接受n者位置参数,转换成元组
def test(x,*args): # *号代表功能 print(x) print(args)
#test(1,2,3,4,5,6,7) #test(*[1,2,3,4,5,6,7]) #args=[1,2,3,4,5,6,7]
接受n个关键字参数,转成字典的形式
def test1(**kwargs):! print(kwargs) print(kwargs["name"]) print(kwargs["age"])
test1(name="alex",age=8) #把n个关键字参数,转换成字典 test1(**{"name":"alex","age":"8"})
位置参数和关键字参数
#def test3(name,**kwargs): print(name) print(kwargs)
test3("alex",age=18,sex="m")
默认参数,位置参数,关键字参数
def test3(name,x=2,**kwargs): print(name) print(x) print(kwargs)
test3("alex",age=18,sex="m",x=4)
def test3(name,x=2,*args,**kwargs): print(name) print(x) print(args) print(kwargs)
test3("alex",age=18,sex="m",x=4)
总结:位置参数只会传给形参和*args,关键字参数传给**kwargs! *args会把n个位置参数转换成元祖的形式! **kwargs会把n个关键字参数转换成字典形式!m=‘alex’ (m是key,‘alex’是values)