zoukankan      html  css  js  c++  java
  • 1_2 lambda表达式

     1 """lambda表达式"""
     2 
     3 """
     4     定义函数的语法格式:
     5 def 函数名([形参1,形参2, ...]):
     6     函数体
     7     
     8     当函数体中只有一行return语句时,函数的定义可以用lambda表达式代替
     9 lambda [形参1,形参2, ...]: 关于形参的表达式
    10 
    11     与函数相比,lambda表达式有以下特点:
    12     1、没有函数名
    13     2、没有关键字def
    14     3、没有小括号
    15     4、关于形参的表达式相当于函数的返回值
    16     所以lambda表达式是匿名简化版的函数
    17 """
    18 def add(num1, num2):
    19     return num1 + num2
    20 
    21 print(add(1, 2))        # 3
    22 
    23 lambda num1, num2: num1+num2
    24 print((lambda num1, num2: num1+num2)(1, 2))     # 3
    25 
    26 """
    27     Python中,一切皆为对象,所以lambda表达式也是对象,从而也像函数一样可以赋值给变量。
    28 """
    29 le = lambda num1, num2: num1+num2
    30 print(le(1, 2 ))        # 3
    31 
    32 """
    33     因为lambda表达式是匿名简化版函数,所以,lambda可以作为函数的实参
    34 """
    35 result = map(lambda x: x*x, [1,2,3,4])
    36 # [1, 4, 9, 16]
    37 print(list(result))
    38 
    39 """
    40     因为lambda表达式是匿名简化版函数,所以,lambda可以作为函数的实参
    41 """
    42 
    43 def do_sth():
    44     return lambda num1, num2:num1+num2
    45 
    46 print(do_sth()(1, 2))       # 3
  • 相关阅读:
    结构体和枚举
    [转载]玩转Asp.net MVC 的八个扩展点
    SQLServer处理亿万级别的数据的优化措施
    Lambda表达式
    匿名类型
    单例模式——懒汉式和饿汉式详解
    Cglib动态代理实现原理
    集合的子集
    深入剖析ThreadLocal
    java注解的自定义和使用
  • 原文地址:https://www.cnblogs.com/sruzzg/p/13122364.html
Copyright © 2011-2022 走看看