我正在尝试执行以下操作:
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
有什么问题吗?
最佳答案
functools.partial
创建一个 object它的行为就像一个新函数,它模仿带有一些参数“卡住”的旧函数。所以你必须实际调用这个新函数来获得相同的输出:
for x in functools.partial(TestClass().method, 10)():
print x
关于python - functools.partial 和生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21221257/