美文网首页Python 官方教程总结
Python官方教程阅读总结-模块

Python官方教程阅读总结-模块

作者: i星空520 | 来源:发表于2019-04-03 23:01 被阅读0次

    模块(module):包含python语句的文件


    模块的文件名:模块名.py

    变量__name__的值记录了一个模块的文件名

    1. 导入模块

        假设有一个模块,文件名是demo.py, 该模块定义了两个函数,func1 和 func2

        导入模块有以下几种常见的形式:

        (1)import demo

                调用模块中的函数就可以用 demo.func1(), demo.func2()

        (2)import demo as d

                这种方法导入模块的同时,用as 关键字给模块取了一个别名,方便后续的使用,这种情况下调用该模块下的函数就变为:d.func1(), d.func2()

        (3)from demo import func1, func2

                从demo模块中导入其中的两个函数,func1 和 func2。这种方法多用于一个模块下有多个函数以及类等,这些就可以把所需要用的函数给导入进去就可以,此时函数的调用也更加简单了,不用再加所在模块的模块名了,例如: func1(), func2()

        (4)from demo import *

                把demo模块下的所有非下划线‘_'开头的名称都导入进去,这样写会使代码书写比较方便,但一般不建议这样写,因为不知道都导入了哪些内容,不利于代码阅读。此时函数调用如上,可以直接 func1()

    2. 以脚本方式执行模块

        除了像上面那样导入模块,还可以以脚本方式执行模块,例如:

        python demo.py 参数

        执行模块的时候, 该模块的 __name__ 会被赋值为 “__main__”. 这就需要你在模块的末尾添加:

            if __name__ == "__main__":

                    func1(参数)

        这样就可以把模块以脚本的方式来执行,在这种情况下,import demo是不会执行该脚本的

    3. 模块的搜索路径

        当一个模块(如 demo)被导入的时候,解释器先会在内置模块中搜索该模块,如果没有找到就会从sys.path 定义的目录列表中去搜索(包括 脚本目录, pythonpath, 以及安装时的默认设置)

    4. 模块的编译

        为了加速python文件的载入速度,每个py文件编译后的版本会放置在一个名为__pycache__的缓存目录中,编译后的模块的文件名是 module.version.pyc

        编译后的模块可以在各平台上运行

        python在两种情况下不会检查编译缓存:(1)命令行直接导入的代码(2)没有源文件,无源文件的发行版

        编译后的模块并不比未编译的读取速度更快,影响的只是文件的加载速度

    5. 标准模块

        python有自己的标准模块库,以提高执行效率,有些模块取决于平台,如winreg模块就只在windows平台上提供,sys 模块嵌入到每一个解释器中,sys.ps1 和 sys.ps2 分别定义了初级和次级提示字符,默认为 >>> 和 ... , sys.path 定义了模块的搜索路径。

    6. dir() 函数

        列出模块所有定义的名称,返回一个排序后的字符串列表,如:

             dir(demo), 

            返回 [ '__name__', 'func1', 'func2' ]

        如果 dir() 函数没有传递参数,就会返回当前所有定义的名称

        import builtins

        dir(buildtins) 会返回python内置的函数和变量名

        

    7. 包 (package)

        包是python中一种构造模块命名空间的方法,通过包名.模块名来调用模块,这样做的好处是使不同模块的作者不用担心模块名称一样,导入方法和上述导入模块的方法类似

        当一个包下还有子包时, 子包之间可通过绝对路径来导入,也可通过相对路径来导入兄弟包中的函数等

        

    相关文章

      网友评论

        本文标题:Python官方教程阅读总结-模块

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