python基础学习(七)-- 匿名函数

作者:Shine 发布于:2018-07-20 11:31:16 浏览:1429次 分类:PHP

python基础学习(七)-- 匿名函数

# 当我们在传入函数的时候 有的时候不需要显式的去定义 直接传入匿名函数更方便
# python中 对匿名函数提供了有限支持 :以map函数为例,计算f(x) = x * x 除了定义一个函数f(x)以外,还可以直接传入匿名函数
print(list(map(lambda x: x * x, [1, 2, 3, 4, 5, 6])))


# 看得出 其实这里的lambda x: x * x相当于


def f(x):
    return x * x


# 关键字lambda表示匿名函数 冒号前面x表示参数
# 匿名函数有个限制 就是只能有一个表达式 不能写return返回值就是该表达式的结果
# 用匿名函数有个好处 就是匿名函数没有名字 所以不用担心函数重名。此外 匿名函数也是一个对象 也可以把匿名函数赋值给一个变量 通过变量调用这个函数

ff = lambda x: x * x

print(ff(5))


# 同样也可以吧匿名函数当作返回值返回
def build(x, y):
    return lambda: x * x + y * y


print(build(2, 3)())


# ****practice
# 利用匿名函数改造下面的代码
# def is_odd(n):
#     return n % 2 == 1
#
# L = list(filter(is_odd, range(1, 20)))
# ***
print(list(filter(lambda x: x % 2 == 1, range(1, 20))))


标签: python lambda
声明:文章内容由作者原创或整理,转载请标明出处!
暂留位置!--请勿随意修改