缺省参数
# 定义函数时,可以给某个参数制定一个默认值,具有默认值的参数就叫做缺省参数
# 调用函数时,如果没有传入缺省参数的值,则在函数内部使用定义函数时指定的参数默认值
# 函数的缺省参数,将常见的值设置为函数的缺省值(默认值),从而简化函数的调用
gl_list = [6, 3, 9]
# 默认按照升序排序
gl_list.sort()
print(gl_list)
# 如果需要降序排序,需要指定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)
"""
必须保证带有默认值的缺省参数在函数列表末尾
"""
多值参数
"""
有时可能需要一个函数能够处理的参数个数是不确定的,这个时候,就可以使用多值参数。
python中有两种多值参数
参数名前增加一个*,可以接收元祖
参数名前增加两个*,可以接收字典
一般给多值参数命名时,习惯使用以下两个名字
*args 存放元祖参数
**kwargs 存放字典参数
(args是argument的缩写,有变量的意思,kwargs可以记忆键值对参数)
"""
def demo(num, *nums, **person):
print(num)
print(nums)
print(person)
# demo(1)
demo(1, 2, 3, 4, 5, name="小明", age=18)
# 多值参数求和
def sum_numbers(*args):
num = 0
print(args)
# 遍历循环
for n in args:
num += n
return num
result = sum_numbers(1, 2, 3, 4)
print(result)
# 元祖和字典的拆包
def demo1(*args, **kwargs):
print(args)
print(kwargs)
gl_muns = (1, 2, 3)
gl_dict = {"name": "小明", "age": 18}
# 拆包的方式是:在元祖变量前,增加一个*;在字典变量前,增加两个*
demo1(*gl_muns, **gl_dict)