一、函数多个返回值
一个函数如何通过return返回多个值?
代码:
def test_return():
return 1,2
x,y = test_return()
print(x,y)
二、关键字参数
调用函数通过“键 = 值”形式传递参数
例:
def user_info(name,age,gender):
print(f"名字:{name},年龄:{age},性别:{gender}")
#关键字传参
user_info(name="张",age=20,gender="男")
#可以不按顺序
user_info(age=20,name="张",gender="男")
#可以和位置参数混用,但是位置参数必须在前,且匹配参数顺序
user_info("张",age=20,gender="男")
三、缺省参数
也叫默认参数,用于定义函数,为参数提供默认值,调用函数时可不传值;
注意:所有位置参数必须出现在默认参数前,包括函数定义和调用。
代码:
def user_info(name,age,gender = "男"):
print(f"名字:{name},年龄:{age},性别:{gender}")
user_info("张",13)
四、不定长参数
也叫可变参数,用于不确定调用的时候会传递多少个参数的场景。
类型:位置传递、关键字传递
位置传递
所有传进的参数会合并为一个元组,args是元组类型
例:
def user_info(*args):
print(args)
user_info("张")
user_info("张",20)
结果:
('张',)
('张', 20)
关键字传递
参数是key = value的形式,组成字典类型。
例:
def user_info(**args):
print(args)
user_info(name = "张",age = 20)
结果:
{'name': '张', 'age': 20}
五、函数作为参数传递
一种计算逻辑的传递,而非数据的传递。
普通的函数如:
def test_fun(a,b):
return a+b
数据不确定,但是计算逻辑已经确定。
函数传递:数据确定,但是计算逻辑可以改变。
例:
def test_fun(compute):
result = compute(1,2)
print(result)
def compute(x,y):
return x+y
test_fun(compute)
六、匿名函数
语法:lambda 传入参数:函数体
注意:用于临时构建一个函数,只用一次的场景。
函数体只能写一行代码。
例:
def test_func(compute):
result = compute(1,2)
print(result)
test_func(lambda x,y:x+y)