我发现了一种新模式。这种模式众所周知吗?对此有何看法?
基本上,我很难遍历源文件来确定可用的模块导入等等,所以现在,而不是
import foo
from bar.baz import quux
def myFunction():
foo.this.that(quux)
我将所有导入移动到实际使用它们的函数中,如下所示:
def myFunction():
import foo
from bar.baz import quux
foo.this.that(quux)
这会做一些事情。首先,我很少偶然用其他模块的内容污染我的模块。我可以__all__为模块设置变量,但是随后我必须在模块发展时对其进行更新,这对实际存在于模块中的代码的命名空间污染没有帮助。
其次,我很少在模块顶部添加大量导入文件,因为重构后,不再需要一半或更多的导入文件。最后,我发现此模式更容易阅读,因为每个引用的名称都在函数体内。
相关分类