zoukankan      html  css  js  c++  java
  • 模塊

    模塊

    常見四種模塊:module

    1.使用python編寫的.py文件

    2.把一系列模塊組織到一起的文件

    3.用C編寫並鏈接到python解釋器的内置模塊

    4.已被編譯為共享庫或dll的c或c++擴展

    1、什么是模块:一系列功能的集合体

    2、为什么会出现模块:很多相似的功能,要统一管理,将这些功能放在一个文件中,该文件就是管理这些功能的集合体,我们命名为模块

    3、怎么使用模块

    -- 在要使用模块功能的文件中导入模块:import 模块名  - 模块名:用来管理一系列功能的文件名

    在哪使用模块
    #  -- 在所有要使用模块中功能的文件中导入并使用模块

    导入模板完成的三件事

    首次导入
    import 模块名

    # 1.将被导入的模块编译形成对应的pyc文件
    # 2.进入模块,从上执行执行模块中的代码,将产生的所有名字存放在该模块文件的全局名称空间中
    # 3.在使用模块的文件中,产生一个与模块名(模块文件名)同名的名字,指向模块的全局名称空间

    再次导入
    # 不再执行导入模块的前两步,只会走第三步:在当前模块中产生一个名字,指向第一次导入在内存中产生的全局名称空间

    起别名

    import 模块名 as 别名

    重点:导入一旦起别名,原模块名变量失效,本质只产生了别名变量指向模块文件的全局名称空间

    模块的分类

    大方向:内置(built-in) | 自定义(系统提供 | 第三方提高 | 自己自定义)

    模块的加载顺序

     内存 > 内置 > sys.path (安装环境变量中路径的先后顺序逐一加载)

    环境变量

    环境变量:存放路径的list,第一位默认一定是当前执行文件所在的路径
    import sys

    sys.path就是环境变量

    清空环境变量:所有导入都不能使用了
    sys.path.clear()
    #添加指定路径到环境变量
    sys.path.append()
    sys.path.insert()

    from...import语法导入

     导入完成的三件事
    # 1.将被导入的模块编译形成对应的pyc文件
    # 2.进入模块,从上执行执行模块中的代码,将产生的所有名字存放在该模块文件的全局名称空间中
    # 3.在导入模块的文件中形成(一个或多个)名字指向模块全局名称空间中的(一个或多个)具体名字
    from 模块名 import 模块中的名字1, ..., 模块中的名字n
    from 模块名 import 名字 as 别名

    # from...import导入依赖环境变量 sys.path

    from...import *

    模块中默认会添加 __all__ ,__all__ 就是管理模块中能被 * 导入的变量们
    __all__可以自定义,自定义 * 能导入的变量们, __all__的list中名字全部可以自定义
    __all__ = ['a', 'b', 'c', 'd_', '_e']
     系统默认添加的__all__中不会纳入 _开头的名字
      -- 所以默认在外界通过from...import *无法导入_开头的名字
      -- _开头的名字对from...import *是隐藏的,指名道姓依然可以被外界导入使用
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    网络知识梳理--OSI七层网络与TCP/IP五层网络架构及二层/三层网络(转)
    OSI七层模型与TCP/IP五层模型(转)
    C语言结构体指针初始化(转)
    关于空指针NULL、野指针、通用指针 (转)
    C语言的通用指针类型(void *)
    使用matlab生成用于ROM初始化的coe文件(转)
    电脑运行msi安装包提示the error code is 2503/2502如何解决
    mysql命令行修改字符编码
    struts 2 时间控件
    java 的 struts2 Spring Hibernate 三大框架的整合
  • 原文地址:https://www.cnblogs.com/duGD/p/10816555.html
Copyright © 2011-2022 走看看