在Python模块中,我经常使用子模块,如datetime
。问题是这些模块可以从外部访问:
# module foo
import datetime
def foosay(a):
print "Foo say: %s" % a
来自IPython:
import foo
foo.datetime.datetime.now()
我想知道如何正确地隐藏作为foo
内部业务的子模块
我天真地想到了import datetime as _datetime
甚至import datetime as __datetime
,但这不是一个非常令人愉快的解决方案。我也读过__all__
,但它只涉及使用from foo import *
导入的内容
您可以在模块foo中使用它的函数中执行导入日期时间:
现在导入foo将不会导入datetime
编辑:您还可以通过不导入整个datetime模块来减少内存占用,只导入所需的方法/函数:
相关问题 更多 >
编程相关推荐