十三、模块的操作

一、模块                                  
    模块:就是一系列功能的结合体
        模块的三种来源:
            1.内置的python解释器自带,pip里面
            2.第三方的(别人写好的模块直接调用
            3.自定义的(你自己写的)
        模块的四种表现形式
         1.使用python编写的py文件(也就意味着py文件也可以称之为模块:一个py文件也可以称之为一个模块)
         2.已被编译为共享库或DLL的C或C++扩展(了解)
         3.把一系列模块组织到一起的文件夹(文件夹下有一个__init__.py文件,该文件夹称之为包)
             包:一系列py文件的结合体
         4.使用C编写并连接到python解释器的内置模块

为什么要用模块
        1.用别人写好的模块(内置的,第三方的):典型的拿来主义,极大的提高开发效率
        2.使用自己写的模块(自定义的):当程序比较庞大的时候,你的项目不可能只在一个py中
            那么当多个文件中都需要使用相同的方法的时候 可以将该公共的方法写到一个py文件中
            其他的文件以模块的形式导过去直接调用即可

如何使用模块
    注意(******):一定要区分哪个是执行文件,哪个是被导入文件

二、import 导入模块                                

1.
首次导入模块(md1.py)(******):右键运行run.py文件首先会创建一个run.py的名称空间
1.执行md.py文件
2.运行md.py文件中的代码将产生的名字与值存放到md.py名称空间中
3.在执行文件中产生一个指向名称空间的名字(md)

官网解释

复制代码
#官网链接:https://docs.python.org/3/tutorial/modules.html#the-module-search-path
搜索路径:
当一个命名为my_module的模块被导入时
    解释器首先会从内建模块中寻找该名字
    找不到,则去sys.path中找该名字

sys.path从以下位置初始化
执行文件所在的当前目录
PTYHONPATH(包含一系列目录名,与shell变量PATH语法一样)
依赖安装时默认指定的

注意:在支持软连接的文件系统中,执行脚本所在的目录是在软连接之后被计算的,换句话说,包含软连接的目录不会被添加到模块的搜索路径中

在初始化后,我们也可以在python程序中修改sys.path,执行文件所在的路径默认是sys.path的第一个目录,在所有标准库路径的前面。这意味着,当前目录是优先于标准库目录的,需要强调的是:我们自定义的模块名不要跟python标准库的模块名重复,除非你是故意的,傻叉。
复制代码





原文地址:https://www.cnblogs.com/wukai66/p/11195919.html