Rue*_*eck 5 python generator functools
我正在尝试执行以下操作:
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
Run Code Online (Sandbox Code Playgroud)
那有什么不对?
functools.partial创建一个对象,其行为类似于一个新函数,它模仿旧函数并使用一些参数"冻结".所以你必须实际调用这个新函数来获得相同的输出:
for x in functools.partial(TestClass().method, 10)():
print x
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1576 次 |
| 最近记录: |