init.py 文件是可选的。这就是为什么你仍然应该使用它们的原因

主要观点:

  • 常见误解认为 Python 包没有__init__.py文件就无法工作,实则自 Python 3.3 起其为可选。
  • __init__.py文件常被用于标记目录为 Python 包,虽现代 Python 可省略该文件仍能运行相同的导入,但明确使用有诸多好处。
  • 省略__init__.py文件会导致工具(如mypyruff)难以理解包结构,可能在代码库增长后出现问题,是在代码库中放置维护定时炸弹。
  • 省略__init__.py文件会创建“隐式命名空间包”,虽有好处但很少使用,除非需要其高级功能,否则应坚持使用__init__.py文件。

关键信息:

  • __init__.py文件标记目录为包,可省略但有影响。
  • __init__.py文件时对目录是否为包会产生疑惑,影响代码导入。
  • 工具需要理解包结构,省略__init__.py文件可能导致工具问题。
  • 隐式命名空间包有特点及使用场景。

重要细节:

  • 示例代码结构展示有和无__init__.py文件时的差异及影响。
  • 提及可通过ruffflake8插件强制使用__init__.py文件。
  • 说明__init__.py文件可包含代码,可参考 Python 文档。
阅读 18
0 条评论