容器------數(shù)據(jù)的封裝
函數(shù)------語句的封裝
類 ? ------方法與屬性的封裝
模塊------模塊就是程序,寫的任何代碼
命名空間
1、每個函數(shù)都有著自已的命名空間,叫做局部命名空間,它記錄了函數(shù)的變量,包括函數(shù)的參數(shù)和局部定義的變量。
2、每個模塊擁有它自已的命名空間,叫做全局命名空間,它記錄了模塊的變量,包括函數(shù)、類、其它導入的模塊、模塊級的變量和常量。
3、還有就是內置命名空間,任何模塊均可訪問它,它存放著內置的函數(shù)和異常。
導入模塊
import ?模塊名
from 模塊名 import 函數(shù)名
import 模塊名 as 新名字
if ?__name__ == '__main__'
搜索路徑
模塊的導入需要路徑的搜索
import sys
sys.path
會打印出python路徑,python就會path里存在的路徑導入模塊,不存在的則無法導入
sys.path.append('C:\\WinPython-64bit-3.4.4.1\\test') 是將不存在的路徑導入path中,必須使用兩個\。
包(package)
第一步,創(chuàng)建一個文件夾,用于存放相關的模塊,文件夾的名字即包的名字;
第二步,在文件夾中創(chuàng)建一個__init__.py的模塊文件,內容可以為空;
第三步,將相關的模塊放入包中
導入包里模塊的方法:
包名.模塊名
reload
from imp import reload
reload(MyModule)這樣就可以重新裝載MyModule模塊,使得修改有效。
注意:reload函數(shù)希望獲得的參數(shù)是一個已經加載了的模塊對象的名稱,所以如果在重載之前,請確保已經成功地導入了這個模塊。
說明:Python 3.0把reload內置函數(shù)移到了imp標準庫模塊中。它仍然像以前一樣重載文件,但是,必須導入它才能使用。在Python 3.0中,運行import imp并使用imp.reload(M),或者像上面所示的,運行from imp import并使用reload(M)。
HTMLTestRunner
python3使用此模塊時,有時報ImportError:No module named ‘StringIO’
原因是官網的是python2語法寫的,看官手動把官網的HTMLTestRunner.py改成python3的語法
解決方法:
下載修改值后地址:http://pan.baidu.com/s/1dEZQ0pz(懶人直接下載吧)直接替換$python_home\python-3.4.4.amd64\Lib下的HTMLTestRunner.py文件