定义函数时,可以给某个参数指定一个默认值,具有默认值的参数叫缺省参数,调用函数时,如果没有传入缺省参数的值,则在函数内部使用定义函数时指定的参数默认值
函数的缺省参数,被常见的值设置为参数的缺省值,从而简化函数的调用
gl_list = [6, 3, 9]
# 默认按照升序排序
# gl_list.sort()
# 如果需要降序排序,需要指定reverse参数
gl_list.sort(reverse=True)
print(gl_list)
函数的缺省参数定义(默认值);在定义函数时只需要在小括号内部参数名后面跟上一个等号,然后把默认值跟在等号的后面
def print_info(name, gender=True):
"""
:param name:班上同学的姓
:param gender:True 男生 False 女生
"""
gender_text = "男生"
if not gender:
gender_text = "女生"
print("%s是%s" % (name, gender_text))
# 假设班上的同学男生居多
# 提示:在指定缺省参数的默认值时,应该使用最常见的值作为默认值!
# 如果某一个参数的值不确定,则不应该设置默认值,具体的数值在调用函数时,由外界转递
print_info("小明")
print_info("小美",False)
运行结果
小明是男生
小美是女生
缺省参数的注意事项
必须保证带有默认值的缺省参数在参数列表末尾
在调用函数时,如果有多个缺省参数,需要指定参数名,这样解释器才能知道参数的对应关系
def print_info(name, title='', gender=True):
"""
:param title: 职位
:param name:班上同学的姓
:param gender:True 男生 False 女生
"""
gender_text = "男生"
if not gender:
gender_text = "女生"
print("[%s]%s是%s" % (title, name, gender_text))
# 假设班上的同学男生居多
# 提示:在指定缺省参数的默认值时,应该使用最常见的值作为默认值!
# 如果某一个参数的值不确定,则不应该设置默认值,具体的数值在调用函数时,由外界转递
print_info("小明")
print_info("小美", gender=False)
运行结果
[]小明是男生
[]小美是女生