缺省参数

除了常规传递参数的方式之外,还有缺省参数,主要特点如下:

1、如果外部调用该函数,而没有给缺省参数传递参数,该形参直接取默认的参数值;

2、如果外部调用时给缺省参数传递了参数,那么该形参的值应该等于外部传递的参数;

3、缺省参数只能放置在常规形式参数的后面;

4、缺省参数可以不用传递;

5、设置缺省参数的时候一般设置为常用的值;

代码示例1:

# 参数的解读
print("亲爱的同志们,我爱你们!")
# 输出结果:亲爱的同志们,我爱你们!
# 解读:这里就是给 print 函数传递了一个参数:亲爱的同志们,我爱你们!

# 当我们输出两段print函数的时候
print("亲爱的同志们,我爱你们!")
print("亲爱的同志们,我爱你们!")
# 输出结果:
# 亲爱的同志们,我爱你们!
# 亲爱的同志们,我爱你们!
# 系统默认会换行输出结果,这表示,print函数后面默认会有个换行符 end = \n ,这就是print函数默认的缺省参数

print("亲爱的同志们,",end="")
print("我爱你们!")
# 输出结果:亲爱的同志们,我爱你们!
# end=""缺省参数换行符 \n 用空值替换了

代码示例2:

# 列表排序
gl_list = [12,25,63,58]

# 对列表进行升序排序
gl_list.sort()
print(gl_list)
# 输出结果:[12, 25, 58, 63]

# 对列表进行反转,实现了降序
gl_list.reverse()
print(gl_list)
# 输出结果:[63, 58, 25, 12]

# 对列表进行反转,实现了降序
gl_list.sort(reverse=True)
print(gl_list)
# 输出结果:[63, 58, 25, 12]
# sort函数也有缺省参数,当括号里面不填参数的时候,则默认缺省参数false,当填了参数的时候,则执行参数

怎么看函数后面都有哪些缺省参数?

1、鼠标滑动到对应的名称上面,会有相关内容提示;

2、按住 ctrl 健,点击鼠标左键,就可以查看函数具体的描述,也可以看到该函数后面都有什么缺省参数;

3、下面有函数的注释和缺省参数的解释,如果看不懂英文的,可以使用翻译;

4、根据注释,测试使用方法;

5、上网查询资料,求证并讨论;

缺省参数的应用场景

代码示例:

# 定义函数输出该姓名是男士还是女生
def print_info(name,gender=True): # 定义传递了个缺省参数gender=True

    gender_txt = "男生"

    if gender == False:
        gender_txt = "女生"

    print("{}是{}".format(name,gender_txt))


print_info("美丽",False)
print_info("白马王子") # 缺省参数可以不传递,则默认了缺省参数True
print_info("魔女",False)

"""
输出结果:
美丽是女生
白马王子是男生
魔女是女生

"""

应用场景:当我们希望默认执行某些东西的时候可以使用缺省参数,例如print函数默认会在输出的内容后面加给换行符。

代码示例2:

def sum(a,b=22): # 定义了个缺省参数 b=22
    result = a + b
    print(result)

sum(11) # 当不输入参数的时候,则默认缺省参数 b=22

'''
输入出结果:
33
'''

参数传递方式默认从左往右传递,也可指定参数传递(命名参数),注意命名参数一定要和函数定义时的参数一致。

代码示例:

def sum(a,b=22,c=10): # 定义了两个缺省参数b=22,c=10
    result = a + c

sum(11,c=11) # 指定了命名参数c=11
# 这里的 a=11,b=22,c=11,执行程序 a+c=11+11=22
'''
输入出结果:
22
'''

posted @ 2022-03-27 11:39  猪腩飞了天  阅读(177)  评论(0)    收藏  举报