Chinaunix首页 | 论坛 | 博客
  • 博客访问: 154884
  • 博文数量: 45
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 273
  • 用 户 组: 普通用户
  • 注册时间: 2014-05-28 10:30
文章分类
文章存档

2017年(6)

2016年(3)

2015年(8)

2014年(28)

我的朋友

分类: Python/Ruby

2014-07-21 21:13:55

对于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"]
阅读(1277) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~