我正在使用 Python 开发一个小型业余项目。我希望“正确行事”,并遵循通用准则。
按照使用 SQLite 的示例包,我可以通过使用上下文使事情正常工作。
例子:
import mypackage as mp
with mp.democlass() as dc:
dc.dosomething('some_parameter')
这显然调用了__enter__
和__exit__
函数。
如果我希望打包我的作品,以便也可以在没有with
函数的情况下使用,例如:
dc = mp.democlass()
dc.dosomething('some_parameter')
.. 什么是“正确”的方法。我可以在类中确定它是否在with
上下文中使用,或者我是否需要编写一个相同的初始化函数__enter__
,例如打开数据库连接。
我希望这个问题有意义。也许我需要一个具有两种方式的样板模块。