__init__.py 是干什么用的?

发布于 2022-02-17 09:45:04

__init__.pyPython 源目录中的用途是什么?

关注者
0
被浏览
82
1 个回答
  • 面试哥
    面试哥 2022-02-17
    为面试而生,有面试问题,就找面试哥。

    它曾经是包的必需部分(旧的,3.3 之前的“常规包”,而不是较新的 3.3+“命名空间包”)。

    这是文档。

    Python 定义了两种类型的包,常规包和命名空间包。常规包是 Python 3.2 及更早版本中存在的传统包。常规包通常实现为包含__init__.py文件的目录。当一个常规包被导入时,这个__init__.py文件被隐式执行,它定义的对象被绑定到包命名空间中的名字。该__init__.py文件可以包含任何其他模块可以包含的相同 Python 代码,并且 Python 会在导入模块时为其添加一些附加属性。

    但只需单击链接,它包含一个示例、更多信息以及对命名空间包的解释,即没有__init__.py.



  • 面试哥
    面试哥 2022-02-17
    为面试而生,有面试问题,就找面试哥。

    命名文件__init__.py用于将磁盘上的目录标记为 Python 包目录。如果你有文件

    mydir/spam/__init__.py
    mydir/spam/module.py
    

    并且mydir在您的路径上,您可以将代码导入module.py

    import spam.module
    

    或者

    from spam import module
    

    如果您删除该__init__.py文件,Python 将不再在该目录中查找子模块,因此尝试导入该模块将失败。

    __init__.py文件通常是空的,但可用于以更方便的名称导出包的选定部分,保存方便的函数等。在上面的示例中,可以访问 init 模块的内容为

    import spam
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看