print("-----------函数的多返回值----------")
def test_return():
return 1,"hello",True
x,y,z = test_return()
print(x,y,z)
"""
**
函数的参数种类
**
-位置参数
1.调用函数时根据函数定义的参数位置来传递参数
2.传递的参数和定义的参数的顺序及个数必须一致
-关键字参数
1.函数调用时通过“键=值”形式传递参数
2.可以让函数更加清晰,容易使用,同时也清除了参数的顺序需求
3.函数调用时,如果有位置参数,位置参数必须在关键字参数前面,但关键字参数不存在先后顺序
-缺省参数
1.缺省参数也是默认参数,用于定义函数,为参数提供默认值,调用函数时可不传该默认参数的值
2.默认参数写到最后面
-不定长参数
1.不定长参数是可变参数,用户不确定调用的时候会传递多少个参数(不传参也可以)的场景
2。作用:当调用函数时不确定参数个数时,可以使用不定长参数
3.不定长参数类型
–(1)位置传递(*args)
传进的所有参数都会被args变量收集,它会根据传进参数的位置合并为一个元组(tuple),args是元组类型
–(2)关键字传递(**kwargs)
参数是 键=值 形式的形式的情况下,所有的 键=值 都会被kwargs接受,同时会根据 键=值 组成字典
“”"
print("--------位置参数--------")
def user_info(name,age,sex):
print(f"名字是{name},年龄是{age},性别是{sex}")
user_info("Tom",19,'男')
print("--------关键字参数--------")
def user_info(name,age,sex):
print(f"名字是{name},年龄是{age},性别是{sex}")
#可以不按照固定顺序
user_info(age=19,sex="男",name="Tom")
print("--------缺省参数--------")
def user_info(name,age,sex="男"):
print(f"名字是{name},年龄是{age},性别是{sex}")
user_info("Tom",19)
user_info("Ann",20,sex="女")
print("--------不定长参数--------")
#位置传递 * 默认为元组
def user_info(*args):
print(f"args参数的类型是:{type(args)},内容是:{args}")
user_info("Tom",19)
#关键字不定长 ** 默认为字典
def user_info(**kwargs):
print(f"kwargs参数的类型是:{type(kwargs)},内容是:{kwargs}")
user_info(name='Tom',age=11,sex='男')
“函数作为参数传递”
“函数本身是可以作为参数,传入另一个函数中进行使用的”
“将函数传入的作用在于:传入计算逻辑,而非传入数据”
print("-------函数作为参数传递--------")
#定义一个函数,接受另一个函数作为传入函数
def test_func(compute):
result = compute(1,2) #compute是函数
print(f"compute参数的类型是:{type(compute)}")
print(f"计算结果是:{result}")
#定义一个函数,准备作为参数传入另一个函数
def compute(x,y):
return x+y
#调用,并传入函数
test_func(compute)
“lambda匿名函数:lambda 传入参数:函数体(一行代码) "
“””
def关键字,可以定义带有名称的函数
lambda关键字,可以定义匿名函数(无名称)
有名称的函数,可以基于名称的重复使用
无名称的匿名函数,只可临时使用一次
“”"
def test_func(compute):
result = compute(1,2) #compute是函数
print(f"compute参数的类型是:{type(compute)}")
print(f"计算结果是:{result}")
#匿名函数lambda,将匿名函数作为参数调用
test_func(lambda x,y:x+y)
运行结果

文章详细介绍了Python中的函数参数类型,包括位置参数、关键字参数、缺省参数和不定长参数,以及函数作为参数和lambda匿名函数的使用。

被折叠的 条评论
为什么被折叠?



