模块

2017-06-01  本文已影响0人  草中人

容器------数据的封装

函数------语句的封装

类   ------方法与属性的封装

模块------模块就是程序,写的任何代码

命名空间

1、每个函数都有着自已的命名空间,叫做局部命名空间,它记录了函数的变量,包括函数的参数和局部定义的变量。

2、每个模块拥有它自已的命名空间,叫做全局命名空间,它记录了模块的变量,包括函数、类、其它导入的模块、模块级的变量和常量。

3、还有就是内置命名空间,任何模块均可访问它,它存放着内置的函数和异常。

导入模块

import  模块名

from 模块名 import 函数名

import 模块名 as 新名字

if  __name__ == '__main__'

搜索路径

模块的导入需要路径的搜索

import sys

sys.path

会打印出python路径,python就会path里存在的路径导入模块,不存在的则无法导入

sys.path.append('C:\\WinPython-64bit-3.4.4.1\\test') 是将不存在的路径导入path中,必须使用两个\。

包(package)

第一步,创建一个文件夹,用于存放相关的模块,文件夹的名字即包的名字;

第二步,在文件夹中创建一个__init__.py的模块文件,内容可以为空;

第三步,将相关的模块放入包中

导入包里模块的方法:

包名.模块名

reload

from imp import reload

reload(MyModule)这样就可以重新装载MyModule模块,使得修改有效。

注意:reload函数希望获得的参数是一个已经加载了的模块对象的名称,所以如果在重载之前,请确保已经成功地导入了这个模块。

说明:Python 3.0把reload内置函数移到了imp标准库模块中。它仍然像以前一样重载文件,但是,必须导入它才能使用。在Python 3.0中,运行import imp并使用imp.reload(M),或者像上面所示的,运行from imp import并使用reload(M)。

HTMLTestRunner

python3使用此模块时,有时报ImportError:No module named ‘StringIO’

原因是官网的是python2语法写的,看官手动把官网的HTMLTestRunner.py改成python3的语法

解决方法:

下载修改值后地址:http://pan.baidu.com/s/1dEZQ0pz(懒人直接下载吧)直接替换$python_home\python-3.4.4.amd64\Lib下的HTMLTestRunner.py文件

上一篇 下一篇

猜你喜欢

热点阅读