一般传参的函数
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放在右边
优先级顺序为:一般函数参数>有默认值的函数参数>可变长度的函数参数>变量值可变的函数参数