1.形参和实参
函数的参数分为形参(parameter)和实参(argument)
2.关键字参数
当一个函数参数很多时,我们在调用该函数时若输错了参数顺序,执行效果可能就大不相同了,如:
def Say(name, words):
print(name + '说,' + words)
Say('湖水微澜', '他对python很感兴趣')
#输出:湖水微澜说,他对python很感兴趣
#这是正确顺序,当参数顺序错误时,执行效果就完全不一样了:
Say('他对python很感兴趣', '湖水微澜')
#输出:他对python很感兴趣说,湖水微澜
这才仅仅是两个参数,如果参数更多,顺序错误可能会造成很严重的错误。为了解决这个问题,我们需要引入关键字参数,即在实参前加上其所属的形参名:
Say(words = '他对python很感兴趣',name = '湖水微澜')
#输出:湖水微澜说,他对python很感兴趣
这样即使参数顺序错误,也能正确执行。
3.默认关键字参数
顾名思义,即函数默认的参数,在函数定义时设置,如:
def Say(name = '湖水微澜', words = '他对python很感兴趣'):
print(name + '说,' + words)
Say()
#输出;湖水微澜说,他对python很感兴趣
Say('毛主席', '一万年太久,只争朝夕')
#输出:毛主席说,一万年太久,只争朝夕
4.收集参数
def Test(*params):
print('参数的长度是:',len(params))
print('第二个参数是:',params[1])
Test(1, 'hello', 'what', 34, 233)
#输出;参数的长度是: 5
# 第二个参数是: hello
如果在收集参数外还有其他参数,那么需要给它加上关键字,否则系统会把这个参数也赋给收集参数。举例说明:
def Test(*params, param1):
print('参数的长度是:', len(params), param1)
Test(1, 888, 666, 34, 233, param1 = 'hello, python!')
#输出:参数的长度是: 5 hello, python!