当前位置:  开发笔记 > 编程语言 > 正文

什么是Python中的"lambda绑定"?

如何解决《什么是Python中的"lambda绑定"?》经验,为你挑选了2个好方法。

我理解Python中的lambda函数是什么,但是通过搜索Python文档我找不到"lambda binding"的含义.阅读它的链接会很棒.一个简单的解释例子会更好.谢谢.



1> Swati..:

一,一般定义:

当执行程序或函数语句时,形式参数的当前值被保存(在堆栈上)并且在语句的范围内,它们被绑定到调用中的实际参数的值.退出语句时,将恢复这些正式参数的原始值.该协议是完全递归的.如果在语句的主体内部,某些事情导致形式参数再次绑定到新值,则lambda绑定方案保证这将全部以有序的方式发生.

现在,在这里的讨论中有一个很好的python示例:

"...只有一个绑定x:x = 7只是改变预先存在的绑定中的值.这就是原因

def foo(x): 
   a = lambda: x 
   x = 7 
   b = lambda: x 
   return a,b

返回两个都返回7的函数; 如果之后有一个新的绑定x = 7,那么函数会返回不同的值[假设你当然没有调用foo(7)).还假设是nested_scopes] ...."



2> John Milliki..:

我从来没有听说过这个术语,但是一个解释可能是用于将值直接赋值给lambda参数的"默认参数"hack.使用Swati的例子:

def foo(x): 
    a = lambda x=x: x 
    x = 7 
    b = lambda: x 
    return a,b

aa, bb = foo(4)
aa() # Prints 4
bb() # Prints 7

推荐阅读
放ch养奶牛
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有