函数参数调用和非固定参数

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)

转载于:https://blog.51cto.com/12992048/2174480

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值