Bjö*_*lex 11
您可以使您的类成为上下文管理器,然后在with-statement中包装对象创建和使用该类.有关详细信息,请参阅PEP 343.
要使您的类成为上下文管理器,它必须实现方法__enter__()和__exit__().__enter__()当你输入with-statement 时调用它,并且__exit__()保证在你离开它时被调用,无论如何.
然后你可以像这样使用你的类:
with MyClass() as foo:
# use foo here
Run Code Online (Sandbox Code Playgroud)
如果您在构造函数中获取资源,则可以在不执行任何操作的情况下__enter__()返回self.__exit__()应该只是打电话给你的finish()方法.