默认参数
在定义函数时我们可以给参数添加默认值,如果调用函数时没有传入参数,函数就会使用默认值,并且不会像必须参数那样报错。
例如:
def default_value(name, age=19):
print("我的名字是:", name)
print("我今年:", age, "岁")
default_value("小逢")
执行结果如下:
我的名字是: 小逢
我今年: 19 岁
但是要注意的是,默认参数必须定义在最后,而且在默认参数之后定义必须参数会报错。
例如:
def default_value(age=18, name):
print("我的名字是:", name)
print("我今年:", age, "岁")
default_value(name="小逢")
执行结果如下:
SyntaxError: non-default argument follows default argument
这一执行结果告诉我们非默认参数不能跟在默认参数后面。
def student_score(name, score=60, location="Wuhan"):
print("姓名:", name)
print("成绩:", score)
print("地区:", location)
print("-----传入所有参数-----")
student_score("小逢", 100, "Xianning")
print("-----不传最后一个参数-----")
student_score("小雪", 80)
print("-----不传成绩-----")
student_score("小红", location="Guangzhou")
print("-----只传必须参数-----")
student_score("小霖")
print("-----只传关键字参数-----")
student_score(name="小浅")
执行结果如下:
-----传入所有参数-----
姓名: 小逢
成绩: 100
地区: Xianning
-----不传最后一个参数-----
姓名: 小雪
成绩: 80
地区: Wuhan
-----不传成绩-----
姓名: 小红
成绩: 60
地区: Guangzhou
-----只传必须参数-----
姓名: 小霖
成绩: 60
地区: Wuhan
-----只传关键字参数-----
姓名: 小浅
成绩: 60
地区: Wuhan
通过以上例子我们可以发现,默认参数非常有用,它可以帮助我们少写不少代码。如果有许多地方调用函数、但是部分参数的值又是相同情况的时候,默认参数就非常有用了。