按照返回值的顺序,写对应顺序的多个变量接受即可
变量之间用逗号隔开
支持不同类型的数据return
def test_return():
return 1,"函数",[1,2]
x,y,z = test_return()
print(x,y,z)
# 1 函数 [1, 2]
①位置传参
根据函数定义时参数的位置进行传参,传入的参数会被合并为一个元组
②关键字传参
通过键值的形式进行传参,传入的参数会被合并为一个字典
③缺省传参
也叫默认参数,定义函数时,为参数提供默认值,调用参数时可不传参数的值,所有位置参数必须出现在默认参数之前,包括函数定义和调用,当调用函数没有传入参数,就会使用默认参数,否则就会修改为调用值。
④位置不定长传递以 * 标记一个形式参数,以元组的形式接收参数
⑤关键字不定长传递以 ** 标记一个形式参数,以字典的形式接收参数
⑥函数作为参数,传入计算逻辑,而不是计算数据
def user_info(name,age,gender):
print(f"姓名是{name},年龄是{age},性别是{gender}")
# 位置参数,默认使用形式
user_info("小明",20,"男")
# 姓名是小明,年龄是20,性别是男
# 关键字参数
user_info(name = "小红",age = 20,gender="女")
user_info(age = 20,name = "小花",gender="女")
# 姓名是小红,年龄是20,性别是女
# 姓名是小花,年龄是20,性别是女
# 可以不按照参数顺序传参
# 缺省参数(默认值)
def user_info(name,age,gender = "女"):
print(f"姓名是{name},年龄是{age},性别是{gender}")
user_info("小明",20)
# 姓名是小明,年龄是20,性别是女
user_info("小明",20,"男")
# 姓名是小明,年龄是20,性别是男
# 位置不定长传参
def user(*args):
print(f"参数类型是{type(args)},内容是{args}")
user(1,2,"王",)
# 参数类型是,内容是(1, 2, '王')
# 关键字不定长传参
def user2(**kwargs):
print(f"参数类型是{type(kwargs)},内容是{kwargs}")
user2(女帝="幻音坊",蚩梦="万毒窟")
# 参数类型是,内容是{'女帝': '幻音坊', '蚩梦': '万毒窟'}
def test(add):
result = add(1,2)
print(f"add参数类型:{type(add)},计算结果为{result}")
def add(x,y):
return x+y
test(add)
# add参数类型:,计算结果为3
lambda 传入参数:函数体(一行代码)
注意:匿名函数用于临时构建函数,只能用一次
匿名函数函数体只能写一行代码
def test(add):
result = add(1,2)
print(f"add参数类型:{type(add)},计算结果为{result}")
test(lambda x,y : x + y)
# add参数类型:,计算结果为3
(日常美图时间)