Python基础小知识问答系列-匿名函数

1. 问题:

        如何将一些简单的功能通过参数传递,避免定义过多的函数?

2. 解决方式:

        使用lambda匿名函数,实现不需要函数名称的功能代码参数传递。

  • 示例:
# lambda方式

def generate_func_by_lambda(name):
    test_map = {
        "函数1": lambda: print("---------1. Demo Function one Running"),
        "函数2": lambda *param: print(f"---------2. Demo Function two Running...函数的入参是:{param}")
    }
    return test_map[name]


# 定义函数方式
def demo_func_1():
    print("---------1. Demo Function one Running")


def demo_func_2(*param):
    print(f"---------2. Demo Function two Running...函数的入参是:{param}")


def generate_func(name):
    test_map = {
        "函数1": demo_func_1,
        "函数2": demo_func_2
    }
    return test_map[name]


if __name__ == '__main__':
    print("###############使用lambda匿名函数")
    generate_func_by_lambda("函数1")()
    generate_func_by_lambda("函数2")("lambda调用","param1","param2")
    print("++++++++++++++自定义函数调用")
    generate_func("函数1")()
    generate_func("函数2")("自定义函数调用", "param1", "param2")
  • 示例结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值