1. 程式人生 > >復習 模塊 類 屬性 方法 繼承

復習 模塊 類 屬性 方法 繼承

python 類 繼承

什麽是模塊?

技術分享圖片

技術分享圖片


技術分享圖片

系統模塊:

系統中有個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__方法,其他的不執行。


技術分享圖片





復習 模塊 類 屬性 方法 繼承