锁定老帖子 主题:python模块导入实践
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-12-27
最后修改:2010-12-27
在编程语言中,一般在语法上都支持代码模块化功能,使之降低耦合度和功能重用,python同样也支持。在python中,模块是以一个python文件 为单位加以封装,并支持以下2种常方式,供第三方使用模块成员。(下面分别说明时,我们假设存在以下python源文 件:main.py,logic.py,model.py且下面提到的当前全局空间是对应main.py) 一、import用法我们可以通过以下代码导入模块至当前全局空间中(可以通过globals()查看) |...........| |.............| |.............| |...........| |.............| |.............| |...........| |.............| |.............| |test | <---------|logic | |.............| |...........| |model |-------> |.............| |...........| |.............| |.............| |...........| |.............| |.............| (module:logic) (module:main) (module:logic) 通过import语句,将需要导入的模块在当前全局空间中添加一个标识(logic),它引用一个名叫logic的module。 二、from ... import ...用法我们可以通过以下代码导入模块至当前全局空间中(可以通过globals()查看) |.............| |.............| |.............| |test | |send | |.............| |.............| (module:main) 通过from ... import ...语句,将需要导入的模块成员直接复制一份成员标识至当前全局空间中,从而我们可以直接使用。 三、巧妙使用__all__内部变量
在本文之前,描叙了如何使用第三方模块内的成员,其中from ... import ...方式直接将模块成员复制到当前全局空间中,我们可以做如下假设: __all__ = ["...","..."]#...表示需要导出的成员,这样就可以控制哪些成员在被导入时能使用的或被复制到导入的全局空间中。
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-12-28
重名的话可以
from A import B as C 例 from django.http import HttpResponse as rsp |
|
返回顶楼 | |
浏览 7349 次