函数的参数(python学习第六弹)

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

运行结果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值