我对面向对象编程语言中的闭包概念感到怀疑。因此,按照定义,闭包是内部函数可以访问自由变量(在外部函数中创建的变量)的概念。
我想知道,为什么内部函数具有此属性?面向对象编程语言的功能背后的逻辑是什么?
附言我正在用Python学习OOP ... 如果有人有任何想法,请帮助:) 谢谢
我对面向对象编程语言中的闭包概念感到怀疑。因此,按照定义,闭包是内部函数可以访问自由变量(在外部函数中创建的变量)的概念。
我想知道,为什么内部函数具有此属性?面向对象编程语言的功能背后的逻辑是什么?
附言我正在用Python学习OOP ... 如果有人有任何想法,请帮助:) 谢谢
这使您可以编写充当“功能工厂”的功能。因此,您可以使用一些参数调用外部函数,该参数将返回内部函数(请注意,至关重要的是,它不会调用内部函数)。
例如
这将返回一个函数,该函数然后将接受参数,并将它们乘以传递给外部函数的“ n”:
例如。