zoukankan      html  css  js  c++  java
  • python lambda简单介绍

    python lambda

    在python中,如果想要创建函数需要使用关键字def,而如果想要创建匿名函数,就需要使用lambda。

    lambda创建的函数和def创建的函数有什么区别?

    1. def创建的函数是有名称的,而lambda没有
    2. lambda会创建一个函数的对象,但是却不会把对象给一个标识符,而def 会把函数对象赋值给一个变量
    3. def 是一条语句,而lambda它只是一个表达式

      y = lambda x:print(x)
      y(10) # 10

    例如上面,通过lambda创建了一个表达式,x相当于形参,代码整体来看非常的简单高效。

    通常情况下,lambda 可以直接作为列表或者字典的成员,如下:

    # 创建一个列表,将通过表达式lambda创建的表达式当做列表中的元素
    list_test = [lambda a:a*3,lambda b:b*4]
    # 给列表中设置值
    x = list_test[0](3)
    y = list_test[1](2)
    print(x,y) # 9 8 

    那么相同的操作,在列表中,只能够使用lambda,没有办法使用def替代,因为def是语句,在列表中只能够是表达式。而lambda表达式在“:”之后只能有一个表达式,通常情况下,return语句能够返回的可以放在lambda后面,不能够返回的同样也不能够放在其后。因此,最好不要将if或者for这样的语句放在lambda表达式的后面,lambda最好只用来定义一些简单的函数。

  • 相关阅读:
    有个名字叫随便乱记——css3
    CSS3伸缩布局
    路政整理
    GIst
    SVN回滚版本
    你需要知道的CSS3 动画技术
    iScroll框架的使用和修改
    CSS3阴影 box-shadow的使用和技巧总结
    Javascript异步编程的4种方法
    zepto学习零碎
  • 原文地址:https://www.cnblogs.com/yujihaia/p/7468228.html
Copyright © 2011-2022 走看看