7.2 函数的多种参数使用形式
一、位置参数
概念:调用函数时根据函数定义的参数位置来传递参数
注意:传递的参数和定义的参数的顺序及个数必须一致
示例:
def func_name(name, age, address): print(f"名称:{name}, 年龄:{age}, 住址:{address}") # 位置 func_name("snow", 12, "这是住址")输出结果:
名称:snow, 年龄:12, 住址:这是住址
二、关键字参数
概念:函数调用时通过
键=值的形式传递参数作用:可以让函数更加清晰、容易使用,同时也清除了参数的顺序需求
注意:函数调用时,如果有位置参数的时候,位置参数必须在关键字参数的前面,但关键字参数之间不存在顺序关系
示例
def func_name(name, age, address): print(f"名称:{name}, 年龄:{age}, 住址:{address}") # 关键字 func_name(name="snow", age=12, address="这是住址") func_name(age=12, address="这是住址", name="snow") func_name("snow", address="这是住址", age=12)输出结果:
名称:snow, 年龄:12, 住址:这是住址 名称:snow, 年龄:12, 住址:这是住址 名称:snow, 年龄:12, 住址:这是住址
三、缺省参数(默认值)
概念:缺省参数也叫默认值,用于定义函数,为函数提供默认值,调用函数时可不传默认参数的值
注意:
所有位置参数必须出现在缺省参数之前,包括函数定义和调用
函数调用时,如果为缺省参数传递则修改默认值,否则使用这个默认值
示例
输出结果:
名称:snow, 年龄:12, 性别:男 名称:snow, 年龄:12, 性别:女
四、不定长参数
概念:不定长参数也叫可变参数,用于不确定调用的时候会传递多少个参数(也有可能不传参数)的场景
作用:当调用函数时不确定参数个数时,可以使用不定长参数
不定长参数类型:
位置传递:
函数接收格式:
def 函数名(*args):注意:传进的所有参数都会被制定一个变量接收,会根据传递的位置合并成一个元组
关键字传递:
函数接收格式:
def 函数名(**args):注意:参数是“键=值”形式的情况下,所有的“键=值”都会被接收,同时形成一个字典
案例:
输出结果:
<class 'tuple'> (1, 2, 3, 4, 5, 6, 7) <class 'dict'> {'name': '1', 'age': '3', 'gender': '123'}
Last updated
Was this helpful?