(一) 函数多返回值
- 按照返回值的顺序,写对顺序的多个变量接收即可
- 变量之间用逗号隔开
- 支持不同类型的数据return
def test_return(): return 1,2 x,y = test_return() print(x) print(y)
(二) 函数的多种传参方式
-
函数参数种类:根据使用方式不同:分为以下4种
1. 位置参数
-
根据函数定义的参数位置来传递参数
! 传递的参数和定义的参数的顺序及个数必须一致2. 关键字参数
-
函数调用时通过键值对的形式传递参数
! 函数调用时,如果有位置参数时,位置参数必须在关键字参数的前面,但关键字参数之间不存在先后顺序3. 缺省参数
-
也称默认参数,用于定义函数,为函数提供默认值,调用函数时可不传该默认参数的值
! 所有位置参数必须出现在默认参数前,包括函数定义和调用! 函数调用时,如果为缺省参数传值则修改默认参数值,否则使用这个默认值
4. 不定长参数
-
也称可变参数,用于不确定调用的时候会传递多少个参数(不传参也可以)的场景。
! 当调用函数时不确定参数个数时,可以使用不定长参数。(1) 位置传递
传进的所有参数都会被args变量收集,他会根据传进参数的位置合并为一个元组(tuple),args是元组类型,这就是位置传递
def user(*args): print(args) user('Belly',20,1)
(2) 关键字传递
- 参数是键值对形式,所有键值对都会被kwargs接受,同时根据键值对组成字典
def user(**kwargs): print(kwargs) user(name = 'Belly',age = 20,sex = 1)
-
(三) 匿名函数
-
1. 函数作为参数传递 -
函数本身可以作为参数,传入另一个函数中进行使用
函数传入的作用在于:传入计算逻辑,而非传入数据 -
2. lambda匿名函数 -
(1) 函数定义:def关键字:定义带有名称的函数(可以使用名称进行重复使用)
lambda关键字:定义匿名函数(只可临时使用一次)
(2) lambda基本语法:lambda 传入参数:函数体(一行代码)
! 函数体只可写一行代码,无法写多行
def test(compute): result = compute(2,3) print(result) test(lambda x,y:x + y)