python学习笔记------函数进阶

函数多返回值

函数返回多个返回值格式

def 函数名():

       return 1,2,......,n

x,x1,......xn=函数名()

按顺序接受

函数的多种传参方式

位置参数:调用函数时根据函数定义的参数位置来传递参数

传递的参数和定义的参数的顺序及个数必须一致

关键字参数:函数调用时通过"键=值"形式传递参数

作用:可以让函数更加清晰、容易使用,同时也清除了参数顺序需求

调用时,有位置参数时,位置参数必须在关键字参数前,但关键字参数不存在先后顺序

缺省参数:也叫默认参数,用于定义函数,为参数提供默认值,调用函数时可以部传递该默认参数的值(所有位置参数必须出现在默认参数前,包括函数定义和调用)

不定长参数:也叫可变参数,用于不确定调用时会传递多少参数的场景

不定长参数类型:位置传递,关键字传递

传递的所有参数都会被args变量收集,他会根据传参的位置合并为一个元组,args是元组类型,这就是位置传递

参数是“键=值”的形式,所有的“键=值”都会被kwargs接受,同时会根据“键=值”组成字典

#函数返回多个返回值格式
#def 函数名():
    #return 1,2,......,n
#x,x1,......xn=函数名()
#按顺序接受
def test():
    return 1,2
x,y=test()
print(x,y)
#位置参数:调用函数时根据函数定义的参数位置来传递参数
#传递的参数和定义的参数的顺序及个数必须一致
def test01(name,age,gender):
    print(f"名字是{name},年龄是{age},性别{gender}")
test01("张三",15,"男")
#关键字参数:函数调用时通过"键=值"形式传递参数
#作用:可以让函数更加清晰、容易使用,同时也清除了参数顺序需求
#调用时,有位置参数时,位置参数必须在关键字参数前,但关键字参数不存在先后顺序
test01(name="李四",age=18,gender="男")
test01("王五",age=19,gender="男")
#缺省参数:也叫默认参数,用于定义函数,为参数提供默认值,调用函数时可以部传递该默认参数的值(所有位置参数必须出现在默认参数前,包括函数定义和调用)
def test02(name,age,gender="男"):
    print(f"名字是{name},年龄是{age},性别{gender}")
test02("赵六",10)
test02("赵六",18,"女")
#不定长参数:也叫可变参数,用于不确定调用时会传递多少参数的场景
#不定长参数类型:位置传递,关键字传递
#传递的所有参数都会被args变量收集,他会根据传参的位置合并为一个元组,args是元组类型,这就是位置传递
def test03(*args):
    print(args)
    arr=args
test03("李四",18,"男")
#参数是“键=值”的形式,所有的“键=值”都会被kwargs接受,同时会根据“键=值”组成字典
def test04(**kwargs):
    print(kwargs)
test04(name="lily",age=19,gender="女")

 

函数作为参数传递

是一种计算逻辑的传递,而非数据的传递

任何逻辑都能自行定义并作为函数传入

def compute(x,y):
    return x+y
def test01(compute):
    result=compute(2,4)
    print(result)
#调用
test01(compute)#6

lambda匿名函数

def关键字,可以定义带有名称的函数

lambda关键字,可以定义匿名函数(无名称)

有名称的函数,可以基于名称重复使用

无名称的匿名函数,只可以临时使用一次

定义语法:

lambda 传入参数:函数体(一行代码)

只能写一行,只能使用一次

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值