__init__.py 是干什么用的?
问题描述
Python 源目录中的 __init__.py
是什么?
What is __init__.py
for in a Python source directory?
解决方案
它曾经是包的必需部分(旧的,3.3 之前的常规包",而不是 较新的 3.3+ "命名空间包").
It used to be a required part of a package (old, pre-3.3 "regular package", not newer 3.3+ "namespace package").
这是文档.
Python 定义了两种类型的包,常规包和命名空间包.常规包是 Python 3.2 及更早版本中存在的传统包.常规包通常实现为包含 __init__.py
文件的目录.当一个常规包被导入时,这个 __init__.py
文件被隐式执行,并且它定义的对象被绑定到包的命名空间中的名称.__init__.py
文件可以包含任何其他模块可以包含的相同 Python 代码,并且 Python 会在模块被导入时添加一些额外的属性.
Python defines two types of packages, regular packages and namespace packages. Regular packages are traditional packages as they existed in Python 3.2 and earlier. A regular package is typically implemented as a directory containing an
__init__.py
file. When a regular package is imported, this__init__.py
file is implicitly executed, and the objects it defines are bound to names in the package’s namespace. The__init__.py
file can contain the same Python code that any other module can contain, and Python will add some additional attributes to the module when it is imported.
但是只需点击链接,它包含一个示例,更多信息,以及命名空间包的解释,没有__init__.py
的那种包.
But just click the link, it contains an example, more information, and an explanation of namespace packages, the kind of packages without __init__.py
.
相关文章