函数参数的注意点

1、在定义一个函数时,可以同时使用不定长位置参数和不定长关键字参数,但是在使用时,不定长关键字参数必须放在最后

2、不同类型参数在同一个函数中定义时的位置顺序为:
位置传参–不定长位置传参–缺省参数–关键字不定长参数
关键字传参不能放在不定长位置传参之前,不能放在关键字传参之后

def func(name,*args,sex,age = 18,**kwargs):
    print(name,args,sex,age,kwargs)

调用时,除位置传参和不定长位置传参受到函数定义时顺序的影响,其他参数必须放在不定长位置传参之后外,关键字传参、缺省参数、不定长关键字传参的放置顺序没有顺序讲究。当然最后输出的顺序,是按照函数定义时函数体内的顺序的

def func(name,*args,age = 18,sex,**kwargs):
    print(name,args,age,kwargs,sex)

func('zs','ok','hi',location = 'bj',age=19,sex='m')  
-> 输出zs ('ok', 'hi') 19 {'location': 'bj'} m

3、在定义函数时,可以将*放入参数中,星号后面的参数必须用关键字传参,前面的参数既可以用位置传参,也可以使用关键字传参

def func(location,*,name,age):
    print(location,name,age)

func('bj',name='zs',age=18)

猜你喜欢

转载自blog.csdn.net/weixin_44423669/article/details/86559571