zoukankan      html  css  js  c++  java
  • Python中的Lambda表达式

    Lambda表达式在python程序中是一种很常见的匿名方法的书写形式,它书写起来非常简单,但是牺牲了可读性。下面来看一下Lambda的简单介绍。

    语法

    lambda [parameter_list]:expression

    Lambda表达式的返回值是一个函数,[parameter_list]是函数的参数,expression是具体的操作。它对应的非匿名方法的书写方式为:

    def function([parameter_list]):
        expression

    如下面的例子:

    #Function
    def func(n):
        return n + 1
    
    print(func(2))
    
    
    #Lambda
    f = lambda x:x+1
    print(f)
    print(f(2))

    第一种方式是正常的非匿名函数的加一方法,第二种是匿名函数的lambda表达方式。Lambda中的x是表达式返回函数的参数,x+1是具体的函数内容。因为Lambda表达式返回的是一个匿名函数,所以打印结果为:

    当然Lambda表达式也有以下的使用情况:

    #多参数情况
    print("多参数情况")
    multi = lambda x,y,z: x+y+z
    print(multi(1,2,3))
    
    #和非匿名函数一块工作
    print("和非匿名函数一块工作")
    
    def namedFunc(n):
        return lambda x:n+x
    
    print(namedFunc(2)) #会打印出function,相当于 lambda x: 2+x
    print(namedFunc(2)(3)) #会打印出5
    
    f = namedFunc(2)
    print(f(3)) #等同于namedFunc(2)(3)

    得到的结果如下:

    对于lambda表达式在Python程序中的一些小建议:

    1. 对于简单的逻辑处理,可以放心使用Lambda表达式,这样比较简洁

    2. 对于复杂的逻辑处理,尽量避免使用Lambda表达式,易读性差,而且容易出错(大牛除外)

  • 相关阅读:
    常用正则表达式大全
    ASP.netMVC验证码
    装饰器
    闭包函数
    猜年龄
    函数基础
    文件的高级应用
    字符编码
    文件的三种打开模式
    深浅拷贝+异常处理
  • 原文地址:https://www.cnblogs.com/AlwinXu/p/6091551.html
Copyright © 2011-2022 走看看