zoukankan      html  css  js  c++  java
  • Python lambda 匿名函数

    lambda [arg1[, arg2, ... argN]]: expression

    Python使用lambda关键字创造匿名函数。所谓匿名,意即不再使用def语句这样标准的形式定义一个函数。这种语句的目的是由于性能的原因,在调用时绕过函数的栈分配。

    lambda是个表达式。

    限制:它只能由一条表达式组成。这个限制主要是为了防止滥用,因为当人们发觉 lambda 很方便,就比较容易滥用,可是用多了会让程序看起来不那么清晰,毕竟每个人对于抽象层级的忍耐 / 理解程度都有所不同。

    1、对于单行函数,使用lambda可以省去定义函数的过程,让代码更加精简。

    2、在非多次调用的函数的情况下,lambda表达式即用既得,提高性能

    注意:如果for..in..if能做的,最好不要选择lambda

    def true():
        return True
        
    Out[1]: True
    
    #等价表达式
    lambda:True
    Out[2]: <function __main__.<lambda>>
    
    true=lambda:True 
    true()
    
    Out[3]: True
    def add(x,y):
        return x+y
        
    add(1,1)
    
    Out[9]: 2
    
    a=lambda x,y:x+y
    a(1,1)
    
    Out[10]: 2
    
    b=lambda x,y=1,z=2:x+y-z
    
    b(2)
    
    Out[11]: 1
    
    c=lambda *z:z
    
    c("tt",2)
    
    Out[12]: ('tt', 2)
  • 相关阅读:
    嵌入式驱动视频2019.03.24
    wps如何输入连续的长破折号
    python绘图问题
    2.13
    2.12
    2.10
    2.9
    2.8
    2.7
    2.5
  • 原文地址:https://www.cnblogs.com/dadadechengzi/p/6269775.html
Copyright © 2011-2022 走看看