• 模块介绍


    ·#模块

    • py文件就是一个模块
    • 模块的分类
      • 内置模块
      • 第三方模块
      • 自定义模块

    #模块的作用

    #模块的使用

    import(导入)

    • import 模块名(将模块中的所有内容导入)
    • from 模块名 import 功能 (将模块中的某个功能导入)
    • from 模块名 import a,b,c (将同一模块中的a、b、c功能导入)
    • from 模块名 import * (将模块下的所有功能导入)
    • from 模块名 import a as AAA (将模块中的a功能导入并起别名为AAA)
    模块导入发生的事情:
    	1.将模块存储到当前名称空间中
    	2.以模块的名字命名,并开辟空间
    	3.通过模块名来使用模块中的功能
    

    模块的导入顺序

    • 内存 》内置=》sys.path

    模块的两种用法

    • 当做普通模块执行
    • 被当做脚本执行

    ——name——

    __ name__就是标识模块的名字的一个系统变量。这里分两种情况:假如当前模块是主模块(也就是调用其他模块的模块),那么此模块名字就是__main__,通过if判断这样就可以执行“mian:”后面的主函数内容;假如此模块是被import的,则此模块名字为文件名字(不加后面的.py),通过if判断这样就会跳过“mian:”后面的内容。

    if __name__ == "  ":
    
    • 当前文件中执行__name__获取的值就是‘main
    • 当前文件被当做模块导入时,__name__获取到的就是当前文件名,当获取的不否时,就会停止

    ——all——

    • 在——init——.py中

      __all__=["module_a","module_b"]  ##只用
      在使用 from package_name import * 时 , 表示import 该package 中的 两个module及 两个module相关的类、方法等。
      
    • 在普通的*.py文件中

      __all__=["class_name","function_name"] 
      在使用 from module_name import * 时,表示import 该module中的__all__中所列出的。
      
    • 注意事项

      1.在普通的*.py中, 使用__all__ 时,可以使用__all__列出的 类、函数、变量等,不使用__all__时会使用module中的所有不以下划线开头的成员。
      2.__all__只能影响到 from import * 这种import 方式, 对于from import 的 import 方式没有影响。
      
      
      3.__all__ 的数据类型:List or Tuple (不确定, 待验证其他)
      

    import和from对比(推荐使用from)

    • import全部导入
    • from指定功能导入
    • 两者都支持as
    • from会将之前定义同名的覆盖
    • from一行可以导入多个功能,也可导入全部功能
    • import建议一行导入一个模块
  • 相关阅读:
    C# 基于密钥的64位加密与解密方法(原创)
    爱情 前途 命运
    设计模式学习笔记装饰模式
    jquery暂无图片插件
    IIS GZIP压缩(转)
    Fckeditor使用笔记
    设计模式学习笔记策略模式
    电子商务网站搜索架构方案
    批量修改数据库表的架构sql
    win 2003 安装 vs2005 sp1 问题1718
  • 原文地址:https://www.cnblogs.com/Nayears/p/12166485.html
Copyright © 2020-2023  润新知