Python第六章19:函数的多种参数类型对比

发布于:2025-03-31 ⋅ 阅读:(22) ⋅ 点赞:(0)
# 函数的多种参数
# 使用方式的不同,函数有4中常见参数
# 位置参数
# 关键字参数
# 缺省参数
# 不定长参数

# 1.位置参数: 根据函数定义的参数位置来传递参数
# 传递的参数和定义的参数的顺序及个数必须一致
def user_info(name,age,gender):
    print(f"您的名字是:{name},年龄是:{age},性别是:{gender}")
user_info('Tome',20,'男')

# 2.关键字参数:  调用函数时,通过“键=值”形式传参
# 作用:可以让函数更加清晰、容易使用,同时 也清除了参数的顺序需求
# 注意!  函数调用时,如果有位置参数时,位置参数必须在关键字参数的前面,但关键字参数职级不存在先后顺序。
user_info(name="臭八十的",age=26,gender="女")
user_info(age=26,gender="女",name="臭八十的") # 关键字传参,可以乱序
user_info("臭八十的",gender="男",age=26) # 关键字和位置参数都有时,位置参数要在前面

# 3.缺省参数: 默认参数,定义时设定默认值,调用函数时不能穿如该默认参数的值。
# 注意!所有位置参数必须在默认参数前面,包括函数定义和调用。
# 当调用函数时没有传递参数,就会使用默认是用缺省参数的对应值
# 函数调用时,如果为缺省参数传入值,则修改默认参数,否则使用默认值
def user_info(name,age,gender="男"):   # 设置的默认值必须在最后
    print(f"您的名字是:{name},年龄是:{age},性别是:{gender}")

user_info("狗八蛋",age= 25)   # 默认gender为男
user_info("臭狗狗",15,gender = "女")

# 4.不定长参数 : 可变参数,用于不确定调用时会传递多少个参数(不传参数也可以)
# 作用:当调用函数时,不确定参数个数时,可以使用不定长参数。

# a.位置传递不定长:  def user_info(*args)
# 不定长定义的形式参数会作为元组存在,接受不定长数量的参数传入
def user_info(*args):
    print(f"args的类型是:{type(args)},内容是:{args}")   # args 是一个元组,传入的参数是元组的元素
user_info("葫芦娃",123,"abc","ABC")

# b.关键字不定长: def user_info(**kwargs)
# kwargs 是键值对,传入参数必须是key=value形似,后形成是一个字典
def user_info(**kwargs):
    print(f"kwargs的类型是:{type(kwargs)},内容是:{kwargs}")   # kwargs 是一个字典,传入的参数是键值对
user_info(name=100,age=100,gender="男",love = "踢毽子")

运行结果: