復習 模塊 類 屬性 方法 繼承
包
系統模塊:
系統中有個sys模塊
根據sys模塊的path屬性方法,可以獲取模塊的位置。
import sys
當我們導入模塊的時候,會從上面目錄一次查找。
我們大部分模塊都在 /usr/lib64/python2.*/ 目錄下能夠找到
比如:
os模塊
string模塊
也可以自定義python的path(模塊目錄)
創建目錄
將目錄加入sys.path
查看:
另外一種方法,修改系統的環境變量:
執行使環境變量生效:
查看:
驗證:
我們自己寫的腳本都可以作為模塊來使用:
腳本名字一般都和腳本內容聯系比較緊密
vim wc.py
導入模塊wc
執行
使用模塊中的函數:
修改 wc.py 文件
結果:
表示執行這個模塊的時候,是在執行wc這個模塊。
執行2.py的時候:
main變成模塊名了
所以,我們改寫wc.py
表示如果名字是main的話,調用wordCount()函數。
怎麽做包?
在目錄下創建空文件
有這個文件後,包的名字就是目錄的名字
使用包的方法:
另外一種方法:
使用:
導入包的 wordCount 方法並執行:
導入的時候順便給函數起個名字:
總結:
面向對象的介紹
類和對象:
面向對象的思想:
python類的定義
類就是封裝
如果類的名稱是由多個單詞組成,類的首字母和其他單詞的首字母都是大寫
定義一個類:
類添加動態方法:
self 表示類的自己,或者類的本身。
類的屬性
對象的創建
類的屬性
執行
要想調用私有屬性,方法如下,這種方法一般在測試的時候使用,正式情況不用:
私有屬性的用途就是不被外部調用,所以這種方法只用於代碼測試。
或者把私有屬性寫入方法裏就可以獲取到私有屬性的值了:
各種調用方法,包含一些內置方法的調用:
結果:
類的方法:
私有方法:__talk
通過類去訪問方法:
占用的資源很少。
靜態方法:
參數裏面沒有self
裝飾器
python 類的內置方法(內部類):
創建一個內部類:
內部類的實例化方法:
舉例:
第二種方法調用內部類:
魔術方法(內置方法):
我們把這些雙下滑下開頭和結尾的方法,叫類的內置方法,或者叫魔術方法。
創建內置方法:__str__
直接這樣輸出:
類直接調用__str__內置方法的值。
構造函數:
__init__ 用於初始化的內部狀態
通過對象訪問和 類訪問:
初始化函數裏面不僅可以放一些屬性,還可以放一些方法:
析構函數:
用來釋放資源的函數
打開鏈接、socket、文件,都可以通過__del__將其清除。
通常在腳本的最後執行這個方法:
在__del__裏面把他關掉:
python的垃圾回收機制
使用:
import gc
結果:如果是0的話,表示沒有可回收的。
類的繼承
繼承最大的好處,代碼重用
傳統格式:
子類只要這麽去寫,就能夠繼承父類,父類的方法,子類一樣可以執行。
繼承父類:super格式
通過super這個函數繼承父類
查看說明
用法:
這樣繼承好後,子類就能使用父類中的共有屬性和公有方法了。
多重繼承
註意第三條:
當父類中出現多個自定義的__init__方法時,多重繼承只執行第一個類的__init__方法,其他的不執行。
復習 模塊 類 屬性 方法 繼承