文章目录
前言
如题,这是一个很简单也很基础的问题,先看不同操作的结果有什么不同
结果1:项目下出现了一个空“文件夹”
结果2:项目下多了一个“Python Package”,该package下包含了一个“__init__.py”文件,该py文件是空的
如果把该py文件删掉后,package也就变成了directory
所以什么是__init__.py
在 Python 中,一个包含 __init__.py
文件的目录被视为一个 Python 包。这个 __init__.py
文件的存在有几个重要的意义和作用。
__init__.py的作用和功能
-
标识包:
__init__.py
文件的主要作用是标识目录为一个 Python 包。即使这个文件为空,它的存在也允许 Python 正确识别并处理该目录下的模块。
-
初始化代码:
- 当导入一个包时,
__init__.py
文件中的代码会首先被执行。这意味着你可以在这个文件中放置一些初始化代码,例如包级别的变量初始化、特定的包初始化操作等。
- 当导入一个包时,
-
控制可导入的模块:
- 在 Python 3.3 之前,
__init__.py
文件还被用来定义包内哪些模块是对外可见的(即可以被导入的)。这是通过在__init__.py
文件中指定__all__
列表来实现的。尽管在新版 Python 中这不再是必需的,但仍然可以用来明确指定包对外公开的接口。
- 在 Python 3.3 之前,
-
命名空间的组织:
__init__.py
文件也用于组织大型代码库的命名空间。通过在这个文件中导入子模块和子包,你可以使得外部对包的使用更加方便和有序。
-
向后兼容:
- 尽管从 Python 3.3 开始,隐式的命名空间包允许创建没有
__init__.py
的包,但为了向后兼容,许多项目仍然保持使用__init__.py
文件。
- 尽管从 Python 3.3 开始,隐式的命名空间包允许创建没有
-
包的分发和安装:
- 在创建可分发的包时(例如使用 setuptools),
__init__.py
文件是定义包内容和结构的重要组成部分。
- 在创建可分发的包时(例如使用 setuptools),
Python技术资源分享
小编是一名Python开发工程师,自己整理了一套 【最新的Python系统学习教程】,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。
保存图片微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】

如果你是准备学习Python或者正在学习,下面这些你应该能用得上:
1、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
2、学习软件
工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
3、入门学习视频
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
4、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
5、清华编程大佬出品《漫画看学Python》
用通俗易懂的漫画,来教你学习Python,让你更容易记住,并且不会枯燥乏味。
6、Python副业兼职与全职路线
这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
👉CSDN大礼包:《Python入门资料&实战源码&安装工具】免费领取(安全链接,放心点击)
