【问题标题】:what is the name of that in pythonpython里面那个叫什么名字
【发布时间】:2013-08-07 09:20:57
【问题描述】:

我知道什么是闭包和什么是 lambda 函数,但我想知道它的名称是什么:

>>> def foo(a, b):
>>>     return a + b
>>>
>>> bar = foo
>>> bar(1, 1)
>>> 2

我只是想知道在变量中绑定函数的事实

【问题讨论】:

  • 称为函子
  • @d-stroyer 这是python,不是范畴论。

标签: python closures anonymous-function lambda


【解决方案1】:

这叫first-class functions.引用维基百科:

具体来说,这意味着该语言支持将函数作为参数传递给其他函数,将它们作为值从其他函数返回,以及将它们分配给变量或将它们存储在数据结构中。 [重点是我的]

【讨论】:

  • 我会避免简单地链接到维基百科。如果您添加第一行的明确引用,答案将更完整。
  • 引用了作者好奇的那句话。
  • 感谢这个对我问题的回答,所以匿名函数不是一流的对象,而闭包是?
  • @user2618216 在 python 中,everything 是第一类对象。类是第一类对象,元类是,字节码是第一类对象(参见some_function.__code__)等。在python中,闭包和函数之间没有区别。您可以在任何地方定义函数。匿名函数是lambdas 的同义词。
  • 谢谢你我现在明白了
猜你喜欢
  • 2022-01-07
  • 1970-01-01
  • 1970-01-01
  • 2019-02-18
  • 2020-06-21
  • 2018-11-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多