【问题标题】:functools.partial and generatorsfunctools.partial 和生成器
【发布时间】:2014-01-20 03:16:25
【问题描述】:

我正在尝试执行以下操作:

import functools

class TestClass():
    def method(self, n):
        for i in xrange(n):
            yield i

# This works 
for x in TestClass().method(10):
    print x

# This gets a TypeError: functools.partial object not iterable
for x in functools.partial(TestClass().method, 10):
    print x

那里有什么问题?

【问题讨论】:

    标签: python generator functools


    【解决方案1】:

    functools.partial 创建一个object,其行为类似于一个新函数,它通过一些“冻结”参数模仿旧函数。所以你必须实际调用这个新函数才能获得相同的输出:

    for x in functools.partial(TestClass().method, 10)():
        print x
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-22
      • 2018-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多