《Python入門》學習筆記(3)

上一篇文章分享內容:《Python入門》學習筆記(2)

函數

1.公式與函數,函數是組織好的,可以重複使用,提高應用的模塊性,代碼的重複利用率。
2.函數分類,內建函數(print,input,map,reduce等),自定義函數,第三方工具包函數。定義函數由關鍵字,函數名稱,參數,返回值等組成。函數的參數分爲實參和形參;返回值是返回函數計算的結果,可以是值、公式、函數等,可以返回多個值;函數體是實現功能的主要部分;參數有必備,關鍵字,默認參數,不定長參數(*args,**kwargs)。變量分爲全局和局部變量,在函數中使用可變數據作爲參數會影響結果。
3.匿名函數lambda,是一個表達式,函數體比def簡單,代碼簡潔。
4.函數的特點,函數本身可以作爲參數和返回值,執行過程自上而下,函數體調用時才執行,函數式編程支持部分。
5.高階函數,變量可以指向函數,可以傳入函數。map函數接收兩個參數,一個試函數,一個試Iterable對象;reduce函數接收兩個參數,把結果繼續和序列的下一個元素做累積計算;filter函數用於過濾序列;sorted函數用來排序。

類,對象和方法

1.面向對象編程和麪向過程,是兩種思維模式。面向過程將複雜的問題流程化,進而簡單化,但擴展性差;面向對象是一種設計思想,把對象作爲程序基本單元,包含數據和操作數據的函數。面向過程把函數繼續切爲子函數。
2.類和對象,類是創建對象的代碼段,描述對象特徵,有屬性、方法、事件等;對象是類的一個實例。封裝是把方法、屬性、事件集中到一個類中,屏蔽其中細節。繼承是在現有類或者生成新的類。多態是一個同樣函數對不同對象具有不同的實現。類默認繼承object,可以繼承多個父類。私有化在屬性或方法前加上一個下劃線,只能在本模塊中使用;完全私有化,只能自己訪問,在方法或屬性前加雙下劃線。給對象添加不存在的屬性和方法,動態添加的會影響對象。函數是封裝一些獨立的功能,可以直接調用,放回數據;方法只能依靠類或者對象調用。實例方法第一個參數self,調用u傳遞self;靜態方法使用時不需要類或者實例本身,通過@staticmethod實現;類方法第一個參數cls,調用時需要傳遞類型給類方法,通過@classmethod實現。
3.魔法方法,內部包含,被雙下劃線所包圍的方法(__new__:構造方法,__init__:對象初始化),new可用於單例模式。__del__析構方法,實例化對象被銷燬時使用。__str__當被str()調用時操作。__getattr__(self,name)定義獲取一個不存在的屬性時行爲,__setattr__定義一個屬性被設置時的行爲。
4.設計模式,是爲了重用代碼,有單例、工程、代理、觀察者模式等,單例模式只有一個實例,使用__new__來實現;工廠模式通過使用一個共同的接口來指向新創建的對象;觀察者模式用於一對多的關係,其中一個對象被修改,會自動通知依賴它的其它對象。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章