前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python lambda表达式的介绍和使用

python lambda表达式的介绍和使用

作者头像
DoubleV
发布2018-09-12 15:07:40
1.1K0
发布2018-09-12 15:07:40
举报
文章被收录于专栏:GAN&CV

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_25737169/article/details/77856917

lambda

python 允许用 lambda 关键字创造匿名函数。匿名就意味着不需要显式的定义,比如python定义一个函数要以def开头,但是我们使用lambda不需要def也能定义一个函数。 然而,作为函数,它们也能有参数。一个完整的 lambda“语句”代表了一个表达式,这个表达式的定义体必须和声明放在同一行。lambda函数的语法如下: lambda [arg1[, arg2, … argN]]: expression 参数是可选的,如果使用的参数话,参数通常也是表达式的一部分。 lambda 表达式返回可调用的函数对象。 用合适的表达式调用一个 lambda 生成一个可以像其他函数一样使用的函数对象。它们可被传入给其他函数,用额外的引用别名化,作为容器对象以及作为可调用的对象被调用(如果需要的话,可以带参数)。当被调用的时候,如过给定相同的参数的话,这些对象会生成一个和相同表达式等价的结果。它们和那些返回等价表达式计算值相同的函数是不能区分的。 比如如下使用: lambda :True 没有参数,返回一个TRUE

代码语言:javascript
复制
def add(x, y): return x + y ? lambda x, y: x + y 

x,y是函数的参数,lambda建立了一个表达式,返回一个函数对象,参数是x,y 也可以这样:

代码语言:javascript
复制
add_ = add(x, y): return x + y ? lambda x, y: x + y

使用的时候,只要调用

代码语言:javascript
复制
c = add_(a, b)

就可以实现a+b的操作 同样的,在tensorflow中如果想定义一个简单的卷积操作,可以这样使用:

代码语言:javascript
复制
conv = lambda inputs, dim: tf.nn.conv2d(inputs, dim, [1, ksize_h,ksize_w, 1], padding=padding)

返回的是一个卷积函数对象,输入包含两个参数,接下来使用卷积的时候,直接调用

代码语言:javascript
复制
conv1 = conv(inputs, out_dim)

即可,这样就完成了一次简单的卷积运算,有些时候简直好用

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017年09月05日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • lambda
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档