• 模块


    1 模块

    一系列功能的集合体
    定义
    别人:系统内置的
             第三方模块
    自己:自己写的模块或自己写的py文件
    来源
    1 用别人写好的模块可以极大提高开发效率
    2 当自己写代码较多的时候,如果将全部代码放在一个文件下,不利于我们的查找,也不利于我们的修改,这时候我们应该分成多个py文件。一个py文件就是一个模块,使用模块导入可以快速调用该文件
    使用模块的好处
    1 使用python编写的py文件
    2 已被编译为共享库或DLL的C或C++扩展
    3 把一系列模块组织到一起的文件夹,该文件夹称之为包
    包:一系列文件的结合体
    4 使用C编写并连接到python解释器的内置模块
    表现形式

    2 模块导入的两种方式

     import 模块名
    from 文件夹名或文件名 import 文件名或文件里的内容
    模块的两种导入方式
    py文件名不应与模块名(包括内置,第三方模块)冲突
    注意

    3 模块导入图解

    注意:模块只有在首次导入才会运行被导入文件,如果后面继续导入,将不会加载,只会引用第一次导入的结果。
    import导入方式
    首次导入过程说明:首先先加载自执行文件,为自执行文件开辟名称空间,分配内存地址
                              其次加载被导入文件,为其创建名称空间,并执行被导入文件代码,将其产生的名字放到名称空间里。
                              第三在执行文件中产生一个指向被导入文件名称空间的名字。
    from 模块名 import 导入方式
    首次导入过程说明:首先先加载自执行文件,为自执行文件开辟名称空间,分配内存地址
                              其次加载被导入文件,为其创建名称空间,并执行被导入文件代码,将其产生的名字放到名称空间里。
                              第三直接拿到被导入文件里的名字
    模块导入

    4 模块两种导入方式的特点

    import 导入方式:、
    1 指名道姓的访问模块的名字,永远不会与执行文件中的名字冲突
    2 你如果想访问模块中名字,必须用模块名。名字的方式
    注意:一个 import后面跟多个模块名必须满足下面条件:
           1 几个模块有相同的部分
           2 几个模块同属于一个模块
           否则,必须分开写(一般推荐使用该方式)
           通常导入模块的句式会写在文件的开头
           如果模块名比较复杂,一般选择给模块名起别名
           示例:import asss as a
    from import 导入方式:
    访问模块中的名字不需要加模块名前缀
    在访问模块中的名字可能与当前执行文件的名字冲突
    补充:from imporrt有两种方式
            1 from 模块名 import 模块中的内容
            2 from 模块名 import *
    两种导入方式的特点

    5 模块的循环导入问题和解决方案

    模块循环导入问题产生的原因:在你导入另一个模块时,另一个模块也在导入你。
    解决方案1:将其写在文件内容后面
    解决方法2:将其写在函数内部
        
    View Code

    6 自执行文件和被导入文件

    自执行文件:在文本编辑器中不能使用相对导入必须使用绝对导入,自执行文件调用__name__方法时,返回的是__main__
    被导入文件:可以相对导入也可以绝对导入,调用__name__方法是,返回的是模块名
    自执行文件和被导入文件

    7 模块的查找顺序

    先从内存中找,再从内置中找,最后从环境变量里找
    模块的查找顺序

    8 相对导入和绝对导入

    绝对导入: 绝对导入必须依据执行文件所在的文件夹路径为准
             绝对导入无论在执行文件中还是被导入文件都适用
    注意:pycharm默认将项目工程 添加到环境变量中
    相对导入(.语法):.代表当前文件路径
                               ..代表上一级文件路径
                               ...代表上上级文件路径
    相对导入和绝对导入
  • 相关阅读:
    HarmonyOS 对象数据库
    springboot 整合/集成 jpa
    linux 安装docker和mysql
    HarmonyOS 多线程
    ElasticSearch 安装及配置 搭建集群
    java 集合
    HarmonyOS 基础数据库
    ElasticSearch 基本操作
    Windows驱动wdf驱动开发系列(一)
    32进程调用64dll的解决方法
  • 原文地址:https://www.cnblogs.com/cmd61/p/11197643.html
Copyright © 2020-2023  润新知