如何处理模块范围的变量,这些变量需要在使用前进行初始化?

时间:2019-07-19 11:52:57

标签: python-3.x anti-patterns

我正在浏览一个开源项目,发现很多这种类型的代码:

Tkinter.Frame.__init__

某种程度上是某种单例模块。

如果用户没有在getter之前调用setter,那么这当然会引发异常。但是也不能给import something error_path = None def set_error_path(path): global error_path error_path = path def get_error_path(): return error_path 一个不同的初始值,因为error_path可能是有效值。

通常,我认为""必须是任何称为函数的结构的一部分,无论它是error_path对象还是其他东西,但是既然那样似乎不是想要/不可能的怎么写得更好?

0 个答案:

没有答案