一个函数如何通过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)