• 模块


    一 模块是什么:*****

      模块 是一组功能的集合

      python 中一个功能就是一个函数

      一个py文件就是一个模块

      例如:A.py  文件名 A.py 模块名 A

    模块的分类:

      1.自定义模块*****

        (第三方模块也属于自定义 它是别的程序员写的)

        关注如何自定义

      2.内置模块 ****

        是c语言写的 然后连接到python解释器中

      3. 已经编译为DLL,c或c++ ***

        不需要知道怎么来的 会用就行

      4. 包 *****

        包实际上是包含一堆模块的文件夹

        之后详细将对于这四种模块 他们的使用方式 是一致的

    二.如何定义模块:*****

      创造一个py 文件 把你的功能写到文件中

    三、如何使用模块:*******

      import  关键字 用于导入模块到当前文件中

      例如:import time

    当执行import做了什么?****

      1.创造一个命名空间

      2.执行被导入的py中的代码 将里面的名字和地址对应关系 存储到命名空间中

      3.在执行文件中 创造一个名字 该名字指向的地址就是 第一步创建的命名空间(模块的命名空间)

    执行文件和被东安路的模块的命名空间 是相互独立的 ****

      在导入模块中 所有的名字使用的都是自己空间中的 和调用者无关

    import 的其他写法*****

      1.import xxx as xxx

      给模块取别名 用于简化书写

      2.import xxx,xxxx

      一次导入多个模块

      3.from xxx,xxxx

        从模块中导入某个名字到当前名称空间中

        注意 要避免名称冲突

      4.from xxx import xxx,xxx,xx

        从模块中导入所有名称

        __all__用于控制 使用者可以使用那些名称

      5. from xxx import *

        从模块中导入所有名称

      6 from xxx import xx as xx

        取别名

      from 和import xx as xx

    py文件的两种执行方式*****

      1 作为执行文件(右键run)

      2.作为模块被导入

      

      __name__这个名称 可以获取当前执行状态

      如果文件是__main__说明当前是执行文件

      否则 说明是作为模块

      于是乎有了以下代码

        if __name__=='__main__':

          print('作为执行文件')

        else:

          print('作为模块导入')

    重复导入模块时   模块中的代码不会重复执行  仅在第一次导入时执行

    模块的搜索顺序*****

    内存中已经加载的 -> 内置模块 -> sys.path

    通常我们编写项目是  会自己讲模块的路径加入到sys.path中

  • 相关阅读:
    OpenStack kolla 多 region 部署配置
    docker rpm 下载地址
    kolla-ansible 源码下载
    Linux下常用压缩 解压命令和压缩比率对比
    Python 获取秒级时间戳与毫秒级时间戳
    OVS 内核KEY值提取及匹配流表代码分析
    字符串压缩 牛客网 程序员面试金典 C++ Python
    奇偶位交换 牛客网 程序员面试金典 C++ Python
    寻找下一个结点 牛客网 程序员面试金典 C++ java Python
    平分的直线 牛客网 程序员面试金典 C++ Python
  • 原文地址:https://www.cnblogs.com/gongcheng-/p/9774377.html
Copyright © 2020-2023  润新知