1、命名关键字参数
命名关键字参数在我看来,就是对关键字参数的一个补充。怎么说呢,关键字参数可以传入任何的键-值,但是如果我们不想随便的接收任何键-值,就可以使用命名关键字参数进行限制。
# 创建的两种方法
函数名(位参1,位参2,......*,键1,键2......) # 其中键1和键2都是命名关键字参数,定义的时候在前面加个 * 号
函数名(位参1,位参2,......*可变参数,键1,键2.....) # 有可变参数的时,直接后面写命名关键字参数。
# 调用方法
函数名(位参1,位参2,......键1=值1,键2=值2......)
函数名(位参1,位参2,......,*可变参数,键1=值1,键2=值2......)
# 实例1
def func(*,job,city):
print('"job":{0},"city":{1}'.format(job,city))
func(job='student',city='shanxi')
>>> "job":study,"city":shanxi
# 实例2
def func(name,age,*,job,city):
print('name:{0},age:{1},job:{2},city:{3}'.format(name,age,job,city))
func('zhangsan',18,job='student',city='shanxi')
>>> name:zhangsan,age:18,job:student,city:shanxi
2、参数组合
以上我们学的五种函数参数,在实际使用过程中,可以组合在一起使用。在参数定义的时候,顺序为:1、位置参数 2、默认参数 3、可变参数 4、命名关键字参数 5、关键字参数
# 实例1
def fun(a,b,c=1,*d,e,f,g,**h):
print('a=',a,'b=',b,'c=',c,'d=',d,'e=',e,'f=',f,'g=',g,'h=',h)
fun('a','b',0,'d1','d2','d3','d4',e='e',f='f',g='g',i='ii',k='kk')
>>> a= a b= b c= 0 d= ('d1', 'd2', 'd3', 'd4') e= e f= f g= g h= {'i': 'ii', 'k': 'k
k'}
# 实例2:可接收一个或多个数并计算乘积
def p(*s):
sun=1
for i in s:
sun=sun*i
return sun
print(p(1,2,3,4,5,6,7,8,9,10))
>>> 3628800
关注公众号,了解更多!