之前我们学了python中的许多函数,但其中还有很多参数,不知道小伙伴们平时注意到了没有。今天我们就其中的三个参数,为大家进行讲解。
函数可变参数
#关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。 defperson(name,age,**kw): print(name,age,'other:',kw) #直接调用 person('sungang',27,sex='男',job='PythonEngineer') #sungang27other:{'job':'PythonEngineer','sex':'男'} #dist参数调用 #注意:**otherInfo表示把otherInfo这个dict的所有key-value用关键字参数传入到函数的**kw参数,kw将获得一个dict,kw获得的dict是otherInfo的一份拷贝,对kw的改动不会影响到函数外的otherInfo otherInfo={'sex':'male','job':'PythonEngineer'} person('lidysun',28,**otherInfo) #lidysun28other:{'job':'PythonEngineer','sex':'male'}
函数关键字参数
defperson(name,age,*,sex,job): print('name:%s,age:%d;sex:%s,job:%s'%(name,age,sex,job)) person('sg',27,job='Engineer',sex='male') #如果函数定义中已经有了一个可变参数,后面跟着的命名关键字参数就不再需要一个特殊分隔符*了 defperson2(name,age,*args,sex,job): print('name:%s,age:%d;sex:%s,job:%s'%(name,age,sex,job)) person2('sungang',28,sex='男',job='PythonEngineer') #命名关键字参数可以设置默认值,如果有默认值,调用时可不传递该参数 defperson3(name,age,*,wechat="sg820262236",job): print('name:%s,age:%d;wechat:%s,job:%s'%(name,age,wechat,job)) person3('sungang',27,job='Engineer') person3('lidysun',28,wechat='1008611',job='Engineer')
命名关键字参数
#调用时命名关键字参数必须传入参数名,关键字参数之间位置不限。如果没有传入参数名,调用将报错 defperson(name,age,*,sex,job): print('name:%s,age:%d;sex:%s,job:%s'%(name,age,sex,job)) person('sg',27,job='Engineer',sex='male') #如果函数定义中已经有了一个可变参数,后面跟着的命名关键字参数就不再需要一个特殊分隔符*了 defperson2(name,age,*args,sex,job): print('name:%s,age:%d;sex:%s,job:%s'%(name,age,sex,job)) person2('sungang',28,sex='男',job='PythonEngineer') #命名关键字参数可以设置默认值,如果有默认值,调用时可不传递该参数 defperson3(name,age,*,wechat="sg820262236",job): print('name:%s,age:%d;wechat:%s,job:%s'%(name,age,wechat,job)) person3('sungang',27,job='Engineer') person3('lidysun',28,wechat='1008611',job='Engineer')
以上就是python的参数使用~更多Python学习推荐:PyThon学习网教学中心。