python中多重目录中的包引用怎么样?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中多重目录中的包引用怎么样?相关的知识,希望对你有一定的参考价值。

从物理上看,包就是一个文件夹,在该文件夹下包含了一个 __init__.py 文件,该文件夹可用于包含多个模块源文件;从逻辑上看,包的本质依然是模块。

根据上面介绍可以得到一个推论,包的作用是包含多个模块,但包的本质依然是模块,因此包也可用于包含包。典型地,当我们为 Python 安装了 numpy 模块之后,可以在 Python 安装目录的 Lib\\site-packages 目录下找到一个 numpy 文件夹,它就是前面安装的 numpy 模块(其实是一个包)。
掌握了包是什么之后,接下来学习如何定义包。定义包更简单,主要有两步:

    创建一个文件夹,该文件夹的名字就是该包的包名。

    在该文件夹内添加一个 __init__.py 文件即可。

    从物理上看,包就是一个文件夹,在该文件夹下包含了一个 __init__.py 文件,该文件夹可用于包含多个模块源文件;从逻辑上看,包的本质依然是模块。


根据上面介绍可以得到一个推论,包的作用是包含多个模块,但包的本质依然是模块,因此包也可用于包含包。典型地,当我们为 Python 安装了 numpy 模块之后,可以在 Python 安装目录的 Lib\\site-packages 目录下找到一个 numpy 文件夹,它就是前面安装的 numpy 模块(其实是一个包)。

参考技术A 6.4.3. 多重目录中的包
包支持一个更为特殊的特性, __path__。 在包的 __init__.py 文件代码执行之前,该变量初始化一个目录名列表。该变量可以修改,它作用于包中的子包和模块的搜索功能。
这个功能可以用于扩展包中的模块集,不过它不常用。
总结后的知识点,希望能帮到你!如需代码上的帮助可以再追问本回答被提问者采纳

以上是关于python中多重目录中的包引用怎么样?的主要内容,如果未能解决你的问题,请参考以下文章

python怎么导入库包?

Python 二维列表,用sorted函数怎么多重排序?

在python程序编写过程中,如何解决模块名称冲突?

python如何导入不同目录下的包

python 和 GUI 测试中的包内引用

python 怎么引用其他文件的类