lambda表达式python_Python中的Lambda表达式「建议收藏」

lambda表达式python_Python中的Lambda表达式「建议收藏」Lambda表达式在python程序中是一种很常见的匿名方法的书写形式,它书写起来非常简单,但是牺牲了可读性。下面来看一下Lambda的简单介绍。语法lambda[parameter_list]:expressionLambda表达式的返回值是一个函数,[parameter_list]是函数的参数,expression是具体的操作。它对应的非匿名方法的书写方式为:deffunction([par…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

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

语法

lambda [parameter_list]:expression

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

deffunction([parameter_list]):

expression

如下面的例子:

#Function

deffunc(n):return n + 1

print(func(2))#Lambda

f = lambda x:x+1

print(f)print(f(2))

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

54848-20161122224041425-808585981.png

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

#多参数情况

print(“多参数情况”)

multi= lambda x,y,z: x+y+zprint(multi(1,2,3))#和非匿名函数一块工作

print(“和非匿名函数一块工作”)defnamedFunc(n):return lambda x:n+xprint(namedFunc(2)) #会打印出function,相当于 lambda x: 2+x

print(namedFunc(2)(3)) #会打印出5

f= namedFunc(2)print(f(3)) #等同于namedFunc(2)(3)

得到的结果如下:

54848-20161122225602393-163991038.png

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/180838.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • curl命令具体解释

    curl命令具体解释

    2021年12月3日
    55
  • pubsub机制_实现一个单例模式

    pubsub机制_实现一个单例模式PubSub是一种设计模式,中文叫发布订阅模式,简单来说就是消息发布者不直接向订阅者发布消息,而是发布到中介,而中介根据不同主题对消息进行过滤,并通知对该主题感兴趣的订阅者。该模式在前端现在很火的组件化开发十分常用,因为该模式松耦合,易于扩展的优点正式组件化开发所需要的。一个PubSub模型主要方法有3个,订阅,退订,发布,下面尝试在前端实现一个最简单的PubSub模块。varPub

    2025年7月9日
    2
  • Matlab 没有 randint,Matlab_learning_4(rand randn randint函数 )「建议收藏」

    ||matlab中rand函数是产生0到1的随机分布1>、RAND:Uniformlydistributedrandomnumbers.标准化分布的随机数2>、RAND(N)isanN-by-Nmatrixwithrandomentries,chosenfromauniformdistributionontheinterval(0.0,1.0…

    2022年4月16日
    44
  • 文件无法保存(文件夹已损坏无法读取怎么办)

    要使用EmguCV,首先需要去官网下载安装包(除了下载安装包,还有其他几种方式)。安装完成后,得配置环境变量。这里不再赘述。网上的教程很多。我这里分享一个官网的下载链接:https://sourceforge.net/projects/emgucv/files/emgucv/这里使用窗体程序进行说明,首先新建个窗体1.引用EmguCV的DLL:usingEmgu.CV;usingEmg…

    2022年4月10日
    80
  • Win10下用Anaconda安装TensorFlow

    Win10下用Anaconda安装TensorFlow笔者之前在学习TensorFlow,也在自己的笔记本上完成了安装,在PyCharm中进行学习。但是最近为了使用python的科学计算环境,我把之前的环境卸载了,并用Anaconda重新安装了TensorFlow,由于自己的笔记本已经很旧了,显卡不行,所以这里介绍一下cpu版本的安装方法和自己遇到的一些坑,截图甚多。

    2022年6月25日
    30
  • 也谈AutoEventWireup「建议收藏」

    也谈AutoEventWireup「建议收藏」.aspx设置AutoEventWireup=false情况下,Page_Load方法没有办法成为Load事件的订阅者,我们必须手工进行相应的subscribe,不然我们就看不到输出的hello.<%@PageLanguage=”C#”AutoEventWireup=”false”CodeFile=”Default.aspx.cs”Inherits=”_D…

    2022年5月28日
    35

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号