python中 __init__文件的作用


看過好幾遍了,每次都記不住。好記性不如爛筆頭,這次學了好好記一下

https://www.jianshu.com/p/73f7fbf75183

 

首先,如果一個文件沒有__init__.py文件,他就不能叫做一個包,只能說是目錄。那包和目錄的區別在哪呢?

1. 簡化模塊導入操作

假設目錄結構為:

 

 

 這樣其他地方要使用其中某一個py文件時,導入方式是這樣的:

 


 

 但是如果目錄中有了 __init__.py,並在__init__.py中加入以下內容:

 

 

 

 

 

上面的語句等價於:

from mypackage import subpackage_1, subpackage_2

因此在其他地方導入時,只需要寫import mypackage, subpackage_1 和 subpackage_2就會被導入。

 

可以被直接import語句導入的對象是以下類型:

  • 模塊文件(.py文件)
  • C或C++擴展(已編譯為共享庫或DLL文件)
  • 包(包含多個模塊)
  • 內建模塊(使用C編寫並已鏈接到Python解釋器中)

 

 

 

 

 

 

 

 

 

1. 如果你寫的不止給自己用,也給其他人用,那么設計成一個包更好


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM