繁体   English   中英

functools.partial和generator

[英]functools.partial and generators

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

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创建一个对象 ,其行为类似于一个模拟旧函数的新函数,其中一些参数为“冻结”。 所以你必须实际调用这个新函数来获得相同的输出:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM