一、模塊和命名空間
一般來說,Python程序往往由多個模塊文件構成,通過import語句連接在一起。每個模塊文件是一個獨立完備的變量包,即一個命名空間。一個模塊文件不能看到其他文件定義的變量名,除非它顯示地導入了那個文件,所以模塊文件在代碼文件中起到了最小化命名沖突的作用。因為每個文件都是一個獨立完備的命名空間,即使在他們拼寫相同的情況下,一個文件的變量名是不會與另一個文件中的變量沖突的。
注意:import VS from:應該指出,from語句在某種意義上戰(zhàn)勝了模塊的名稱空間分割的目的,因為from把變量從一個文件復制到另一個文件,這可能導致在導入的文件中相同名稱的變量被覆蓋(并且,如果發(fā)生這種情況的話,不會為你給出警告)。這根本上會導致名稱空間重疊到一起,至少在復制的變量上會重疊。
二、模塊介紹
模塊:用來從邏輯上組織Python代碼(變量,函數(shù),類,邏輯:實現(xiàn)一個功能),本質就是.py結尾的Python文件(文件名:test.py,對應的模塊名:test)
包:用來從邏輯上組織模塊的,本質就是一個目錄(必須帶有一個__init__.py文件)
模塊分類:
內置模塊
自定義模塊
第三方模塊(需要安裝才能使用)
注意:Python中的模塊,在其他語言中叫做類庫。
三、模塊導入和重載
導入和重載提供了一種自然的程序啟動的選擇,因為導入操作將會在最后一步執(zhí)行文件。
在典型的應用中,導入者得到了模塊文件中在頂層所定義的所有變量名。這些變量名通常被賦值給通過模塊函數(shù)、類、變量以及其他被導出的工具。這些往往都會在其他文件或程序中使用。表面上來看,一個模塊文件的變量名可以通過兩個Python語句讀取--import和from,以及reload調用。
3.1、模塊的顯要特性:屬性
從一般意義上來說,模塊往往就是變量名的封裝,被認作是命名空間。在一個包中的變量名就是所謂的屬性:也就是說,屬性就是綁定在特定的對象上的變量名。
舉個例子,使用文本編輯器創(chuàng)建一個名為myfile.py的單行的Python模塊文件,其內容如下: