Python中定义函数用关键字def, 例如:
def test():
print("hello world")
test()-->hello world
函数也可以带参数,多个参数用逗号隔开,例如:
a,b为形参, test(1,5)具体传入参数1,5(为实参)
def test(a,b):
print(a+b)//前提是同类型才能相加
如果希望通过函数得到返回值,直接return
def test(a,b):
return a+b
如果函数有参数,而我们在调用的时候不给它传入参数直接调用函数则会报错,test() 则会报错需要我们传入两个参数就正常test(1,2)
如果函数有默认参数,则调用的时候不传参数不会报错,因为它会使用默认参数, 默认参数的意思就是给形参一个初始值,例如
def test(a="hello",b="tom"):
print(a+b) // a和b的默认参数为hello,tom
然后我们不传参数调用test() ---> 不会报错 输出 hello tom
函数中还有一个叫关键参数,有的时候我们在给函数传参数的时候,可能顺序会搞反造成不可预测的错误,这时候关键参数就发挥作用了,请看下例:
def test (a, b), 调用test(b="tom",a="hello") 这种参数 “”x=“” 的形式就是关键参数,这样指定给参数赋值就不怕搞反了
还有种就是我们不知道未来要给参数传递多少参数可能是一个可能是十个,这时候收集参数就派上用场: 收集参数就是在变量前面加个*号 就代表多个
参数,例如:
def test(*para): test(1,2,3,4,5,6),这样test可以传入无限参数, 如果需要在收集参数后面传入另一个参数exp,例如 def test(*para, exp), 那么我们调用函数
test的时候exp就要使用关键参数的形式传入否则无法识别, test(1,2,3,exp=4)
函数的不同形参名字不能一样 否则会报错