1. 多返回值
-
返回值为return返回给上级函数的值,需要注意的是,与C和C++不同,Python中可以有多返回值。
多返回值
def test_return(): return 1,2 x, y = test_return() print(x) print(y)
特点:
- 按照返回值的顺序,写对应顺序的多个变量接收即可
- 变量之间用逗号隔开
- 支持不同类型的数据return
2. 传参方式
-
位置参数:顺序和个数一致。
def user_info(name, age, gender): print(f"姓名:{name},年龄:{age},性别:{gender}") # 位置参数:个数和顺序一致 user_info('张三', 18, '男')
-
关键字参数:“键=值”形式,个数和顺序可以不一致。
# 关键字参数:不需要一致 user_info(name='李四', gender='男', age=21)
-
位置与关键字混用:位置参数需要一致且放前面,关键字参数不需要
# 混用 user_info('王五', gender='女', age=21)
-
缺省参数:缺省参数也叫默认参数,用于定义函数,为参数提供默认值
user_info('李白', 30) # 缺省参数可不传递 user_info('李粉', 18, '女') # 传递缺省参数,则修改默认值
注:所有位置参数必须出现在默认参数前,包括函数定义和调用
-
不定长参数:也叫可变参数。用于不确定传递多少个参数(不传参也可以)的场景。
位置不定长参数
# 定义 def user_info(*args): print(args) user_info('张三') user_info('李四', 18)
关键字不定长
def user_info(**kwargs): print(kwargs) # 关键字不定长 user_info(name='杰克', age=28, gender='男')
3. 匿名函数
-
函数参数:传入计算逻辑,而非传入数据。
-
函数定义:
- def关键字,可以定义带有名称的函数,可以基于名称重复使用。
- lambda关键字,可以定义匿名函数(无名称),只可临时使用一次。
匿名函数
def test_func(compute): result = compute(1, 2) print(result) test_func(lambda x, y:x + y) # 括号内为匿名函数