有 __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() 去執行