Python包是什么意思

2025-05-17 19:55:09
Python包是什么意思

2、package指的就是包,它是一个有层次的文件目录结构,它定义了由n个模块或n个子包组成的python应用程序执行环境。通俗一点:包是一个包含__i荏鱿胫协nit__.py 文件的目录,该目录下一定得有这个__init__.py文件和其它模块或子包。但是这会分为两种情况,第一种情况是一个空的__init__.py文件,另外一个情况是写了代码的__init__.py文件。不管是空的还是有内容的,这个目录都会被认为是一个package,这是一个标识。package的初始化工作一个package 被导入,不管在什么时候__init__.py的代码都只会被执行一次

Python包是什么意思

3、由于 package 被导入时 __init__.py 中的可执行代码会被执行,所以小心在 package 中放置你的代码,尽可能消除它们产生的副作用,比如把代码尽可能的进行封装成函数或类。__init__.py内的导入顺序当我尝试导入

Python包是什么意思

4、import语句会首咸犴孜稍先检查something是不是__init__.py的变量,然后检查是不是subpackage,再检查是不是module,最后镖镐守悉抛出ImportError。所以检查顺序如下:(1)__init__.py 文件内变量(2)是不是package内的subpackage(3)是不是package内的module看个例子我们有一个如下结构的package在a.py文件内有一个函数

Python包是什么意思

5、在b.py文件内有一个函数

Python包是什么意思

6、然后我们添加一个空的__init__.py 文件在simple_package里面。我们看下,当我们import simple_package的时候到底会发生什么事情(在simple_package内激活Python shell或者simple_package的路径被包含在python的sys.path或者在PYTHONPATH的环境变量中)

Python包是什么意思

7、我们可以看到simple_package已经被成功导入,但是a.py和b.py并没有被导入当然了,如果你希望使用import simple_package后自动加载a或者b 模块,这里有两种办法。第一种就是在__init__.py内导入a或者b模块,然后保存再激活python的交互环境

Python包是什么意思

8、当你再次尝试import simple_package后,就可以使用simple_package.a.bar()来使用模块a中的bar()函数了。第二办法就是手动导入,当你想使用模块a中的bar()函数时,需要手动导入

Python包是什么意思

9、然后就是可以a.bar()来使用bar()函数了。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢