python模块和包的导入

Posted mutianxueluo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python模块和包的导入相关的知识,希望对你有一定的参考价值。

模块

  • 一个包含python代码的.py文件。
  • 模块的使用
    • import module
    • import module_name
    • import module_name as 别名
    • from module_name import func_name, class_name
    • from module_name import *
  • if __name == ‘main‘ 的使用
    • 可以有效避免模块代码被导入的时候被动执行的问题
    • 建议所有程序的入口都以此代码为入口

模块的搜索路径和存储

  • 系统默认的模块搜索路径
    • import sys
    • sys.path 属性可以获取路径列表
  • 添加搜索路径
    • sys.path.append(dir)
  • 模块的加载顺序
    1. 搜索内存中已经加载好的模块
    2. 搜索python的内置模块
    3. 搜索sys.path路径

  • 自定义包的结构

    /---包
    /---/---__init.py__ 包的标志文件
    /---/---模块1
    /---/---模块2
    /---/---子包(子文件夹)
    /---/---/---__init.py__ 包的标志文件
    /---/---/---子包模块1
    /---/---/---子包模块1
  • 包的使用
    • import package_name
      • 默认对__init__.py中的内容进行导入
    • from package_name import *
      • 导入__init__.py中的模块,函数和类
    • import package_name.module_name
    • from package_name import module1, module2, ...
  •  __init__.py中如果设置了__all__的值,那么则按照__all__指定的子包或者模块进行导入
  •  __all__ = ['module1', 'module2',..] 

关于包和模块的使用,根据import后面的内容。

  • import的是package,使用时: package_name.module_name
  • import的是module,使用时: module_name.func_name; module_name.class_name
  • import的是package.module, 使用时: package_name.module_name.func_name
  • import的是func, class,使用时:func_name; class_name

以上是关于python模块和包的导入的主要内容,如果未能解决你的问题,请参考以下文章

python模块和包的导入

python 关于 不同模块内类的变量继承和包的模块导入的一些感悟

python 模块和包的使用方法

python 模块和包的入方法

python基础——python添加模块搜索路径和包的导入

Python(28)---模块和包的基本概念