为什么带有参数的函数不能在迭代器中调用?

隔壁doc

有两个例子。

# 1st example
>>> def accum(sum, a):
        return sum + a
>>> sum = 0
>>> for sum in iter(lambda:accum(sum, 2), 40):
        print sum,

2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32...

# 2nd example
>>> def accum(sum, a):
        return sum + a
>>> sum = 0
>>> for sum in iter(accum(sum, 2), 40):
        print sum,
TypeError: iter(v, w) : v must be callable

为什么lambda函数不会出错但accum函数会出错?

提前致谢 :)

安蒂·哈帕拉(Antti Haapala)

无论哪种情况,您都不会传递带有参数的函数。在第二种情况下,的值v绑定到整数2,而在第一种情况下v指的是可调用的匿名lambda函数() -> sum + a

以下2个几乎相等:

def x():
    return sum + a

x = lambda: sum + a

除了lambda不能提供良好的调试回溯,因为lambda函数是未命名的。

另外,变量的名称有点误导,使我花了一些时间弄清楚发生了什么。正好有2个变量称为sum-一个在accum函数,另一个在全局范围内。还有第三个带蒙版的蒙版,其中包含全局内置函数sum...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么我不能在settimeout / setinterval中多次调用带有参数的函数

来自分类Dev

为什么我不能在扩展通用特征的类中调用带有参数“ this”的方法?

来自分类Dev

为什么标准库函数中没有提供带有迭代器参数的重载?

来自分类Dev

为什么不能在jquery中递归调用函数?

来自分类Dev

为什么我不能在 React 中调用这个函数?

来自分类Dev

为什么我不能在带有“名称”的表中访问lua函数

来自分类Dev

为什么Array中的函数不能在“参数”上使用?

来自分类Dev

为什么不能在带有const的函数内部使用此函数?

来自分类Dev

为什么我不能在带有嵌套函数的函数内声明变量?

来自分类Dev

为什么我不能在 Python 中使用变量作为参数来调用这个函数?

来自分类Dev

为什么不能在C ++中将迭代器作为参考?

来自分类Dev

为什么我不能在向量中的列表上设置迭代器?

来自分类Dev

RETURN 不能在带有 OUT 参数的函数中包含参数

来自分类Dev

为什么参数不能在函数外部保留其值?

来自分类Dev

不能在带有参数的函数中编辑双精度吗?

来自分类常见问题

为什么派生类不能在此代码中调用受保护的成员函数?

来自分类Dev

为什么不能在std :: set中的元素上调用非常量成员函数?

来自分类Dev

为什么我不能在 php 的 try 块中定义函数之前调用它

来自分类Dev

从带有参数的指令中调用控制器函数

来自分类Dev

为什么我们不能添加带有整数的迭代器?

来自分类Dev

为什么我不能在Java中创建带有“长”类型的HashMap?

来自分类Dev

为什么不能在Xul中插入带有listitem的图像

来自分类Dev

为什么我不能在XAML中定义带有转换的几何?

来自分类Dev

为什么onStopTrackingTouch不能在带有seekbar的自定义适配器中工作?

来自分类Dev

如何使用带有多个参数的迭代器调用async.map函数?

来自分类Dev

为什么节点不能在我的终端或浏览器中运行javascript函数?

来自分类Dev

为什么带有假定形状参数的子例程不能具有内部函数?

来自分类Dev

url 不能在带有参数的 MVC 中工作

来自分类Dev

为什么不能在没有参数的情况下传递声明为需要参数的swift函数?

Related 相关文章

  1. 1

    为什么我不能在settimeout / setinterval中多次调用带有参数的函数

  2. 2

    为什么我不能在扩展通用特征的类中调用带有参数“ this”的方法?

  3. 3

    为什么标准库函数中没有提供带有迭代器参数的重载?

  4. 4

    为什么不能在jquery中递归调用函数?

  5. 5

    为什么我不能在 React 中调用这个函数?

  6. 6

    为什么我不能在带有“名称”的表中访问lua函数

  7. 7

    为什么Array中的函数不能在“参数”上使用?

  8. 8

    为什么不能在带有const的函数内部使用此函数?

  9. 9

    为什么我不能在带有嵌套函数的函数内声明变量?

  10. 10

    为什么我不能在 Python 中使用变量作为参数来调用这个函数?

  11. 11

    为什么不能在C ++中将迭代器作为参考?

  12. 12

    为什么我不能在向量中的列表上设置迭代器?

  13. 13

    RETURN 不能在带有 OUT 参数的函数中包含参数

  14. 14

    为什么参数不能在函数外部保留其值?

  15. 15

    不能在带有参数的函数中编辑双精度吗?

  16. 16

    为什么派生类不能在此代码中调用受保护的成员函数?

  17. 17

    为什么不能在std :: set中的元素上调用非常量成员函数?

  18. 18

    为什么我不能在 php 的 try 块中定义函数之前调用它

  19. 19

    从带有参数的指令中调用控制器函数

  20. 20

    为什么我们不能添加带有整数的迭代器?

  21. 21

    为什么我不能在Java中创建带有“长”类型的HashMap?

  22. 22

    为什么不能在Xul中插入带有listitem的图像

  23. 23

    为什么我不能在XAML中定义带有转换的几何?

  24. 24

    为什么onStopTrackingTouch不能在带有seekbar的自定义适配器中工作?

  25. 25

    如何使用带有多个参数的迭代器调用async.map函数?

  26. 26

    为什么节点不能在我的终端或浏览器中运行javascript函数?

  27. 27

    为什么带有假定形状参数的子例程不能具有内部函数?

  28. 28

    url 不能在带有参数的 MVC 中工作

  29. 29

    为什么不能在没有参数的情况下传递声明为需要参数的swift函数?

热门标签

归档