天天看點

python封裝,繼承,多态及内置函數筆記

子類繼承父類時,所有方法都會被繼承,包括init初始化方法,init

如果有參數,子類執行個體化時,也需要傳參,子類不需要父類方法時,可

重寫

父類名.init(self,參數) 調用父類初始化方法

super() 目前類的父類

類名.bases 擷取目前類的父類

多重繼承時,當多個父類中出現相同的方法名,那麼類名(父類,父類

)哪個父類在前,則用哪個父類中的方法

封裝:確定對象中的資料安全

繼承:保證了對象的可擴充性

多态:保證了程式的靈活性

直接在類中定義的類屬性是類屬性,類屬性可以通過類或類的執行個體訪

類屬性隻能通過類來修改,無法通過執行個體對象修改,執行個體對象會添加新

的屬性,覆寫掉以前的舊屬性

通過self和執行個體對象添加的屬性,稱為執行個體屬性,執行個體屬性不能通過

類修改和通路

執行個體方法:

在類中定義,以self為第一個參數的方法都是執行個體方法

執行個體方法,可以通過執行個體對象和類調用,通過類調用時,不

會傳遞self,需要手動傳遞selfbr/>類方法:

在類中定義,并且被@classmethod修飾的方法

類方法第一個參數是cls,也會被自動傳遞,代表目前類br/>類方法也可以通過類和執行個體對象調用

靜态方法:

在類中定義,并且被@staticmethod修飾的方法

靜态方法可以通過類和執行個體對象調用

靜态方法一般都是一些工具方法,和目前類無關

del 魔法方法,會在垃圾回收前調用

del 變量 删除的是變量,不是對象

特殊方法(以雙下劃線開始結尾):

str(self) print輸出對象時,輸出的是str方法的

傳回值

repr(self) 這個方法會在對目前對象使用repr()函

數時調用

它的作用是指定對象在'互動模式(shell編輯器)'中直接輸

出的效果

lt(self,other) 小于

le(self,other) 小于等于

eq(self,other) 等于

ne(self,other) 不等于

gt(self,other) 大于

ge(self,other) 大于等于

以上方法會在比較的時候調用,傳回值将會作為比較的結果

len() 擷取對象的長度

bool(self) 判斷對象是否為空,不為空傳回True

子產品化:

1.友善開發

2.友善維護

3.子產品可複用

引入子產品:

import 子產品名

import 子產品名 as 别名

子產品執行個體隻有一個,同個子產品,引用多次也隻能有一個

name屬性 可以擷取子產品名,值為main的子產品

是主子產品,主子產品是直接通過python執行的子產品

執行個體化其他子產品中的類,子產品名.對象名()

from 子產品名 import 變量或方法名 隻引入子產品中部分功

from 子產品名 import * 引入子產品所有内容

from 子產品名 import 方法名 as 别名 避免其他模

塊與目前子產品方法覆寫,起别名

其他子產品中,添加了_的變量,通過from 子產品名 import *

引入時,這種變量不會被引入

if name == 'main': 檢查目前子產品是否為主子產品

子產品是一個py檔案,而包也是子產品,也是檔案夾,可以用import導入

,當一個子產品需要被分解為多個子產品或子產品中代碼過多時,就需要包

(package),包中必須要有一個init.py這個檔案,這個檔案中可

以包含有包中的主要内容

import 包名 導入包

from 檔案夾 import 包名 導入包中的子產品

pycache 是子產品的緩存檔案

python代碼在執行前,需要被解析器轉換為機器碼,然後再

執行,是以我們在使用子產品(包)時,也需要将子產品的代碼轉換為機器

碼然後交給計算機執行,為了提高程式運作的性能,python會在編譯

過一次之後,将代碼儲存到一個緩存檔案中,這樣下次加載這個子產品

時(包)時,就可以不再重新編譯而是直接加載緩存編譯好的代碼即可

sys子產品:提供了一些變量和函數,可以擷取到python解析器的資訊或

者操作python解析器

sys内置子產品:

sys.argv 擷取執行代碼時,指令行中所包含的參

sys.modules 擷取目前程式中引入的所有子產品

sys.path 程式調用子產品的搜尋路徑

sys.platform 程式運作平台

sys.exit(字元串) 退出程式

os(作業系統)内置子產品:

os.environ 這個屬性可以擷取到系統的環境變量

os.environ['path'] 擷取path環境變量

os.system('cmd指令') 執行cmd指令

pprint子產品提供了一個pprint()方法,可以用來對列印的資料做簡單

的格式化,調用:pprint.pprint(輸出内容)

轉載于:https://blog.51cto.com/3945465/2385208

繼續閱讀