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