声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知识更好地理解AI技术,我让助理负责分享这套python系列教程,希望能帮到大家!。PS:看不懂本篇文章的同学请先看前面的文章,循序渐进每天学一点就不会觉得难了!
默认参数允许创建函数可选的参数。如果没有传入值的话,在函数运行前,参数就被赋了默认值。例如,这里有个函数需要一个参数和两个默认参数。
>>>def f(a,b=2,c=3): print(a,b,c)
...
当调用这个函数的时候,我们必须为a提供值,无论是通过位置参数还是关键字参数来实现。然而,为b和c提供值是可选的。如果我们不给b和c传递值,它们会默认分别赋值为2和3:
>>>f(1)
1 2 3
>>>f(a=1)
1 2 3
当给函数传递两个值的时候,只有c得到默认值,当有三个值传递时,就不会使用默认值了:
>>>f(1,4)
1 4 3
>>>f(1,4,5)
1 4 5
下面是关键字和默认参数一起使用后的情况:
>>>f(1,c=6)
1 2 6
这里,a通过位置得到了1,c通过关键字得到了6,而b,在两者之间,通过默认值获得2。
下面是一个关键字和默认参数在实际应用中稍复杂的例子:
def func(spam,eggs,toast=0,ham=0): # First 2 required
print((spam,eggs,toast,ham))
func(1,2) # Output: (1,2,0,0)
func(1,ham=1,eggs=0) # Output: (1,0,0,1)
func(spam=1,eggs=0) # Output: (1,0,0,0)
func(toast=1,eggs=2,spam=3) # Output: (3,2,1,0)
func(1,2,3,4) # Output: (1,2,3,4)