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
  • 相关阅读:
    数据结构(java语言描述)顺序栈的使用(两个大数相加)
    DB2 Sql性能查看与优化
    spring默认为单例模式
    Java map的匿名类的初始化
    使用nohup后台执行ftp传输命令
    停止一个java的线程执行
    静态类
    XML语法随记
    Crontab有关
    string转Date转回String(JAVA)
  • 原文地址:https://www.cnblogs.com/sruzzg/p/13122364.html
Copyright © 2011-2022 走看看