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
  • 相关阅读:
    jdk7_ConcurrentHashMap 图示
    Teradata 日期函数
    Teradata正则表达式
    Teradata sql去除字段中的字母/数字
    sql查询连续3天有交易记录的客户
    批量生成sql查询语句
    sql查询字段中是否含有字母/数字/符号
    sql查询每个人最新的2个电话号码
    python连接Teradata数据库
    dos命令获取文件行数
  • 原文地址:https://www.cnblogs.com/sruzzg/p/13122364.html
Copyright © 2011-2022 走看看