zoukankan      html  css  js  c++  java
  • Python模块初识

    目录


    一、模块初识

           模块是自我包含并且有组织的代码片段,是一系列功能的集合体,一个py文件就是一个模板,文件名就是死模块的名字加上扩展名.py,包含了Python对象定义和Python语句。模块帮助我们有逻辑地组织代码,把相关的功能放在一个模块里,方便 阅读,调用。

    一个名称空间就是一个从名称到对象的关系映射集合。每个名称空间都是自我包含的单元。

    完整授权名称(fully qualified name):通过句点属性标识指定各自的名称空间,防止名称冲突。

    二、模块分类

      1.python写的py文件

      2.已被编译成共享库或DLL的C或C++扩展

      3.把一系列模板组织到一起的文件夹

      4.用C编写并连接到python解释器的内置模块

    三、导入模块

        模块中包含的可执行语句与函数的定义,这些语句的目的是初始化模块,它们只在模块名第一次遇到import语句时才执行。import语句是可以在程序的任意位置使用的,且针对同一个模块很多次import很多次,但是第一次导入后就将模块名加载到内存,后续再导入就是给已经加载到内存中的模块对象增加引用,不会重新执行模块内的语句。

        在sys.path中我们可以找到已经被加载到内存的模块,sys.module是一个字典,内部包含模块名与模块对象的映射,该字典决定了模块是否需要重新导入。(sys.path的第一个路径就是当前执行文件所在文件夹,路径随执行文件而变。)

    首次导入模块:

      1.创建模板名称空间

      2.执行模板对应的执行文件,将产生的文件存放在名称空间

      3.在当前执行文件中拿到模板名,该模板名指向该模板的内存空间

    sys.path从以下位置初始化:

      1.执行文件所在的当前目录

      2.PTYHONPATH

      3.依赖安装时默认指定的

    四、编写好的一个python文件可以有两种用途

      1.脚本,一个文件就是整个程序,用来被执行

      2.模块,文件中存放着一堆功能,用来被导入使用

    五、模板查找顺序

       1.内存已加载的模板

       2.内置模板

       3.sys.path(第一个路径是当前执行文件所在文件夹,路径随执行文件而变)

    六、软件开发目录规范

     

  • 相关阅读:
    分布式事务解决方案1--使用Atomikos分布式事务(事务强一致方案)
    SringBoot集成Sharding-Jdbc 实践
    Sharding-Jdbc简介
    Mycat+haproxy中使用keepalived保障haproxy的高可用
    Angular CLI
    背压(Backpressure)机制
    Function.identity()
    解决Error: ENOENT: no such file or directory, scandir 安装node-sass报错
    Reactor flatMap
    Reactor map
  • 原文地址:https://www.cnblogs.com/qiaoqianshitou/p/8710376.html
Copyright © 2011-2022 走看看