python __all__属性

1320阅读 0评论2014-07-21 B_C_1024
分类:Python/Ruby

对于from ModuleName import * 这种形式,要特别注意重名现象。

Python中,对于一个模块,具有一个名为 __all__的属性,该属性的值就是被from ModuleName import *这样的语句绑定的属性列表;否则,这种类型的from语句将绑定模块中除了以下划线开始的属性(私有属性)外的所有属性。这样的话,对于同一个名空间里 面出现重名现象的概率就加大了,为了减少这种情况的发生,都会在模块开始处定义__all__属性的内容,写出可以被这种from类型导入的属性,可以参 考shutil.py的写法。

 下面的是os.py里面的一段代码:

__all__ = ["altsep", "curdir", "pardir", "sep", "pathsep", "linesep",
           "defpath", "name", "path", "devnull"]
上一篇:python中and和or的用法
下一篇:Python 模块学习 logging(2)