python给变量赋值范围_关于lambda:在Python中将变量赋值给本地函数范围

我想给一个lambda的作用域分配一个变量,这个lambda被多次调用。每次都有一个新的变量实例。我该怎么做?

f = lambda x: x + var.x - var.y

# Code needed here to prepare f with a new var

result = f(10)

在本例中,它是var,我希望在每次调用时都替换它,而不将其作为第二个参数。

不要使用lambda,使用常规函数,你不应该觉得有必要尽可能使用lambda。

一般来说,如果lambda足够复杂,以至于您必须询问如何扭曲它来完成任务,那么只需使用常规的"def"函数即可。它将使代码更可读、更可维护。

@我同意。但是lambda或者正则函数,我不确定OP是如何完成他所要求的。在不使用参数的情况下,如何更改函数范围内的某些内容?

如果这有帮助,可以用常规函数替换lambda。我只需要以某种方式操作函数局部变量/闭包。

如何在python中修改本地名称空间或如何动态修改函数的本地名称空间的可能副本?@JonathonReinhart有几种方法,但在那些链接中看不到干净的方法。

@正在引用命名空间的Jamyak。这真的适用于函数范围的变量吗?

@JonathonReinhart是的,另外Op规定他不能在lambda定义中添加另一个参数,因此没有其他方法

@查米拉克,对。整个事情开始显得荒谬起来。

lambda是在外部定义的,超出了我的控制范围,但我想为lambda创建者提供一个范围。这样做更有意义吗&#x

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值