有 __init__.py 的好处是可以在里面处理一些细节对于有要做模组化的需求时是很有用的, 不过一般小的project 也是可以不用那么麻烦.也谢谢 @TitanEric, 我去找一下在 PEP 哪一篇有讲这个找到了, PEP 420 我来看一下补充一下我上面提到的东西. 像是 numpy 为了让使用者可以在 from numpy import XXX 后针对该 submodule直接做执行 unit test, 而不用在 terminal 下指令所以在每个 submodule 的 __init__.py 里有定义他们自己写的 tester. 参考:
https://git.io/fNyKM举例来说, 如果要跑 numpy.ma 这个 submodule 的 test可以用 numpy.ma.test() 去执行