1.默认值参数
在声明函数时,如果有一些参数是运行时的必要条件,或者说在编写的过程中大量出现,则可以把它设为默认值参数。调用函数时,如果没有传入对应的实参值,则函数使用声明时则使用默认值参数。
def babble(words,time=1):
print((word+'')*time)
对babble()进行调用:
>>>babble('hello',3)
hello hello hello
>>>babblle('hello')
hello
注意
在设定默认值参数时,它必须写在形参列表的右边,否则就会报错,
2.名称传递参数
函数调用的时候,实参默认按照维护者顺序传递参数。当然,也可以通过名称指定传入参数,这种方法被称为名称传递参数,也称关键字参数。
优点
- 参数意义明确
- 传递的参数与顺序无关
- 有多个可选参数们可以选择指定某个参数值
def mySum1(mid_score,end_score,rate=0.4):
score=mid_score*rate+end_score*(1-rate)
return score
print(mySum1(rate=0.3,end_score=93,mid_score=88))
3.可变参数
在定义函数时,使用带星号的参数,如*param1,则意味着玉许乡函数传递可以改变的数量的参数。调用函数时,这些参数被收集为一个元组。
def commonMultiple(*c):
for i in c:
print('(:^4)'.format(i),end='')
return len(c)
count=commonMultiple('李白','杜甫')
print('共{}人'.format(count))
>>>
李白 杜甫 共2人