Python-lambda 的简单使用

2020-05-29  本文已影响0人  打瞌睡的灰

最近刚实际使用lambda,觉得很清晰好用,做个记录。

什么是lambda ?

我的理解是一个定义匿名函数的方式,可以获得一个“非常规定义”的函数。一般定义函数,都需要def name 然后定义函数主体。而使用lambda就可以直接只写参数和主体,只用一行解决,这对于一些简短的函数或者仅单处调用的函数来说是非常棒的,可以让代码更简洁一些

1、代替简单的函数定义

比如我们需要实现一个函数,返回x+y的值,常规定义函数如下

def getPlusResult(x, y):

    return x+y

使用lambda定义

a = lambda x, y : x+y

对于lambda来说,冒号左侧是参数,右侧是函数主体,也即匿名函数实际返回的值

2、还有一个用法是用来传递参数,控制分支,其实也算是1的一个变种

def SetFuctionName(type):

    if type == 1:

        do something

    elif type == 2:

        do something else

a = lambda : SetFunctionName(1)

b = lambda : SetFunctionName(2)

这种用法的话要看具体的情况。我自己是在信号绑定的时候用到的。处理函数相同,但不同的入口有参数差别,需要在发射信号的时候传不同的参数,而qt的信号绑定又需要绑定一个函数,因此就用了匿名函数

上一篇 下一篇

猜你喜欢

热点阅读