模块

作者: 草中人 | 来源:发表于2017-06-01 16:50 被阅读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文件

    相关文章

      网友评论

          本文标题:模块

          本文链接:https://www.haomeiwen.com/subject/ilemgttx.html