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