1. 程式人生 > 實用技巧 >Pyhton一些基礎知識總結--學習筆記手冊(7)

Pyhton一些基礎知識總結--學習筆記手冊(7)

  1. 面向物件的三大特性是什麼?分別解釋下其作用

    封裝:
    
    

1.使用者使用PC機提供的介面而不用關心其具體實現細節

2.提高開發效率

3.更加貼切人的思維 更容易抽象現實事務
繼承:

1.程式碼複用
多型:

1.複用後人提供的功能,增加程式碼的可擴充套件性


2. 子類中通過父類名呼叫父類方法和通過super呼叫父類方法有什麼區別?

1.單繼承中基本無差別
2.在多繼承上,super方法能保證每個父類的方法只會執行一次,而使用類名的方法會導致方法被執行多次
3.多繼承時,使用super方法,對父類的傳引數,應該是由於python中super的演算法導致的原因,必須把引數全部傳遞,否則會報錯
4.單繼承時,使用super方法,則不能全部傳遞,只能傳父類方法所需的引數,否則會報錯
5.多繼承時,相對於使用類名.__init__方法,要把每個父類全部寫一遍, 而使用super方法,只需寫一句話便執行了全部父類的方法,這也是為何多繼承需要全部傳參的一個原因


3. 使用property的兩種方式?

1.@property @func.setter @func.deleter
2.BAR = property(get_bar, set_bar, del_bar, "description...")


4. 列舉常用的魔法屬性並說明其作用

1.doc:表示類的描述資訊
2.module:表示當前操作的物件在那個模組
3.class:表示當前操作的物件的類是什麼
4.init:初始化方法,通過類建立物件時,自動觸發執行
5.del:當物件在記憶體中被釋放時,自動觸發執行。
6.call:物件後面加括號,觸發執行。
7.dict:類或物件中的所有屬性
8.str

:如果一個類中定義了__str__方法,那麼在列印 物件 時,預設輸出該方法的返回值。
9.getitemsetitemdelitem:用於索引操作,如字典。以上分別表示獲取、設定、刪除資料
10.getslicesetslicedelslice:該三個方法用於分片操作,如:列表


5. 什麼是菱形繼承,為什麼不適合使用父類.方法()

1.A類會被初始化兩次
2.呼叫A類順序不確定,構造父類A,和D呼叫BC的順序有關