Python-04:函数进阶

一、多返回值

def fun1():
    return 1, "a"

x, y = fun1()
print(x, y)

二、函数传参

2.1 位置参数

根据位置,按顺序传参

def fun2(age, name):
    print(f"name={name}, age={age}")

fun2(18, "小明")

2.2 关键字参数

通过建=值的形式进行传参
顺序无所谓

def fun3(age, name):
    print(f"name={name}, age={age}")

fun3(name = "小明", age = 20)

如果位置参数和关键字参数混用,则位置参数必须在前面

2.3 缺省参数(默认参数)

不传参的时候使用默认值,传参则使用参数

def fun4(age=50, name="小花"):
    print(f"name={name}, age={age}")

fun4(18)

特别注意:默认参数必须在最后面

2.4 不定长参数

  • 位置不定长(*args),以元组的形式存在
def fun5(*args):
    print(args)
# (18, 20, 'a')
fun5(18, 20, "a")
  • 关键字不定长(**kwargs),以字典的形式存在
def fun6(**kwargs):
    print(kwargs)
# {'name': 'tom', 'age': 20, 'id': 5}

fun6(name="tom", age=20, id=5)

三、将函数作为参数进行传递

def fun7(x, y):
    return x + y;


def test(fun):
    result = fun(1, 2)
    return result

print(test(fun7))

四、匿名函数

函数定义中

  • def定义,可以基于名称重复使用函数
  • lambda定义,没有名字,只能使用一次
    定义格式:lambda 参数1,参数2…: 函数体(只能一行)
fun7 = lambda x, y:x+y
print(fun7(5, 5))

或者下面这种用法,需要传递一个函数作为参数时,不用def定义函数
def test(fun):
    result = fun(1, 2)
    return result

print(test(lambda x, y:x+y))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小猿桥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值