Python知识学习15——缺省参数

观察以下代码,思考缺省参数存在的意义:

1
2
3
4
5
def get_sum(a, b):
return a + b
print(get_sum(10, 20))
print(get_sum(11, 20))
print(get_sum(12, 20))

我们发现,参数b的值一直都是10,那么怎么样使其值默认为20呢?

我们这样修改代码:

1
2
3
4
5
def get_sum(a, b = 20):
return a + b
print(get_sum(10))
print(get_sum(11))
print(get_sum(12))

补充:含缺省值的参数,必须在参数列表的最后

当存在多个缺省参数时,亦可单独给某个缺省参数赋值:

1
2
3
4
5
def get_sum(a, b = 20, c = 5):
return a + b + c
print(get_sum(10, c = 10))
print(get_sum(11, c = 10))
print(get_sum(12, c = 10))

在传递多个缺省值时,参数顺序就不再重要了:

1
2
3
4
5
def get_sum(a, b = 20, c = 5):
return a + b + c
print(get_sum(10, c = 10, b = 10))
print(get_sum(11, c = 10, b = 10))
print(get_sum(12, c = 10, b = 10))

如果不指定缺省参数的名称,则是按顺序赋值:

1
2
3
4
5
def get_sum(a, b = 20, c = 5):
return a + b + c
print(get_sum(10, 10, 10))
print(get_sum(11, 10, 10))
print(get_sum(12, 10, 10))