[python基礎]關於包,類,模塊的那些事兒


轉載請注明出處:http://www.cnblogs.com/codefish/p/5032753.html

 

在理解python的包,類,模塊之前,我一直是將他類比為dll,C#的類,命名空間的這種參照,這其實和C#還是存在差異的,我們先從宏觀上來看這些單位.

 

一,類

   關於類的定義出現在各個語言之中,在OOP中幾乎是最小的封裝單元了,方便更高的復用

 

二,模塊

  我們知道,在C#如果新建一個文件夾folder ,然后在該文件夾下添加任何類文件默認都是這樣的命名方式

  folder.類名

  這樣將一個folder下的所有類封裝在一個命名空間之下,方便復用,這里的模塊也是類似的功能,以單個文件做為一個模塊,如圖,在其它的地主引用的時候就以Humans為模塊名加以引用

  總結看來,每一個以.py結尾的文件都是模塊(moudle)

 

三,包

   在命名空間的更上層,就是DLL程序集了,將這些類文更封裝一層,而python用文件夾包含有__init__.py來將文件夾特殊化成package 

 

  這里的包就是對模塊的聚集,包裹在同一個文件夾內。

 

四,其它

   有些同學在引用的時候會注意到兩種不同的語法

 

__author__ = 'Bruce'
from Color.Red import DarkRed
import Humans

if __name__ == '__main__':
    dark_red = DarkRed()
    dark_red.printinfo()
    pass

 

如果你細分點看就會看到: from Color.Red ,一般from 后面都是直接跟着包含上級空間的,而且import 只能跟着一級空間.

 

轉載請注明出處:http://www.cnblogs.com/codefish/p/5032753.html


免責聲明!

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



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