Python函数传参位置关系总结

 一般传参的函数

def print_Info(name,age):
    print('Name: %s' % name)
    print('Age: %s'%age)
 
print_Info("ljj",15)

带有默认值的传参函数,有默认值的放在后面

def print_Info(name,age=15):
    print('Name: %s' % name)
    print('Age: %s'%age)
 
print_Info("ljj",15)

数量可变参数

def add(*a):
    i=0
    for temp in a:
       i+=temp
    print(i)
add(1,2,3,4,5,6,7,8,9,10)

*a是以元组的形式展示的

变量名和变量值可变的函数参数

def print_info(name,age,sex,**kwargs):
    print('Name: %s' % name)
    print('Age: %s' % age)
    print('Sex: %s' % sex)
    for i in kwargs:
        print('%s:%s'%(i,kwargs[i]))
print_info('ljj',18,'female',job='IT',hobby='girls',height=188)

**kwargs以字典的形式展示的

可变长度的和变量名和变量值可变的函数参数组合函数

def f(*args,**kwargs):
    for temp in args:
        print(temp)
    for i in kwargs:
        print('%s:%s' % (i, kwargs[i]))
 
f(1,2,3,4,5,'1212',[1,2,5],name='alvin',age=23)

各种参数形式的组合

def func(name,age=22,*args,**kwargs):
    print('Name: %s' % name)
    print('Age: %s' % age)
    for temp in args:
        print(temp)
    for i in kwargs:
        print('%s:%s' % (i, kwargs[i]))
func('lj',21,3,4,5,'1212',[1,2,5],name1='alvin',age1=23)

总结

1,如果有默认参数,放在左边,默认参数

2,关于不定长参数的位置:*args放在左边,**kwargs放在右边

优先级顺序为:一般函数参数>有默认值的函数参数>可变长度的函数参数>变量值可变的函数参数

posted @ 2019-09-25 10:56  测试的世界很精彩  阅读(566)  评论(0编辑  收藏  举报