yespython 发表于 2018-3-26 10:31:22

python lamdda 表达式

python允许使用lamdda表达式创建匿名函数

1、什么是匿名函数:

2、匿名函数和普通函数在使用上面又有什么不同呢?

3、使用匿名函数的优势

python 写一些执行代码时,使用lambda就可以省下定义函数过程,比如我们只是要写个简单的代码来管理服务器时间,我们就不需要专门定义一个函数然后再写调用,使用lambda就可以使代码更加精简

对于一些比较抽象并且整个程序执行下来只需要调用一两次的函数,有时候给函数起名字也是比较头疼的问题,使用lambda就不需要考虑命名的问题了

简化代码的可读性,由于普通函数阅读时经常要跳到开发def定义部分,使用lambda函数可以省去这样的步骤

def ds(x):
    return 2*x+1

print(ds(5))

print(lambda x :2*x+1)
#在冒号的前面是传入的参数,在冒号的后边是返回值
g = lambda x :2*x+1
print(g(5))

def add(x,y):
    return x+y

f = lambda x,y:x+y
print(f(3,4))
两个比较厉害的BIF:

filter()过滤器:通过他可以保留关注的信息,不关注的信息则不用处理

两种用法:

filter(None,)

第一种:function is None

print(list(filter(None,)))


第二种:function is not None

def odd(x):
    return x%2

temp = range(10)
print(list(filter(odd,temp)))

使用lambda:

print(list(filter(lambda x:x%2,range(10))))



map()映射:两个参数一个函数和一个可迭代的序列

将序列的每一个元素作为函数的参数进行运算加工,直到函数的参数迭代序列的每个元素都迭代完毕,返回所有加工后的元素构成新序列



print(list(map(lambda x:x*2,range(10))))

东非野马 发表于 2018-3-26 10:33:57

很深奥,然后看起来很牛掰
页: [1]
查看完整版本: python lamdda 表达式