1
我想要的行为,例如:Python的迭代和上下文管理
with A() as f:
for x in f:
do_something(f)
这是做正确的方式?
class A:
def __enter__(self):
print "Entering context"
def __iter__(self):
for x in ["some","list"]:
yield x
def __exit__(self):
print "Deleting context"
如果你只是忽略任何异常,可能会更清楚地表明在签名时通过使用'def __exit __(self,* args)'。或者可能不是;我想这是一种风格问题。 – abarnert 2014-10-20 21:52:46