Python 类在uuu init_uuuuu.py中的实现

Python 类在uuu init_uuuuu.py中的实现,python,Python,我一直在研究\uuuu init\uuuuuuy.py文件,看到的建议是处理那里的包的导入和/或一些初始化 还有一个类似Python的包。包含不同集合对象的实现 为什么要将实现放在包中的\uuuu init\uuuuu.py而不是专用的.py文件中?这是个好主意吗?它是一种设计模式吗?在这种特殊情况下,根本不需要有一个包含\uuuu init\uuuuuuy.py文件的目录,因为该模块中唯一的另一个文件是,它本身没有定义任何内容。因此,如果不是为了abc.py,整个过程应该是collection

我一直在研究
\uuuu init\uuuuuuy.py
文件,看到的建议是处理那里的包的导入和/或一些初始化

还有一个类似Python的包。包含不同集合对象的实现


为什么要将实现放在包中的
\uuuu init\uuuuu.py
而不是专用的
.py
文件中?这是个好主意吗?它是一种设计模式吗?

在这种特殊情况下,根本不需要有一个包含
\uuuu init\uuuuuuy.py
文件的目录,因为该模块中唯一的另一个文件是,它本身没有定义任何内容。因此,如果不是为了
abc.py
,整个过程应该是
collections.py
,而不是
collections/\uuuu init\uuuuu.py
。那么为什么是这样呢?纯粹出于向后兼容性的原因。他们不想把
从集合中分离出来。abc导入…
,但想在内部移动东西。

你对一般情况有什么想法,而不是对
集合的这种特殊情况有什么想法吗?在我看来,这通常不是个糟糕的主意。你只想小心循环导入,例如,当子模块从
\uuuu init\uuuu.py
导入一些基类时,但是
\uuuu init\uuuuuu.py
也会导入这些子模块以公开它们。