# 函数的多种参数 # 使用方式的不同,函数有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 = "踢毽子")
运行结果: