国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

跟老齊學Python之類的細節

2020-02-23 06:05:31
字體:
來源:轉載
供稿:網友

這幾天和幾個朋友以各種途徑討論過OOP的相關問題,他們是:令狐蟲、Frank、晉劍、小馮

大家對OOP有不同看法,所謂工程派和學院派看法不一致。從應用的角度看,工程派的觀點是值得推薦的,那就是:不用太在意內部是怎么工作的,只要能夠解決眼下的問題即可。但是,對于學習者而言,如果僅僅停留在工程派的層面(特別提醒,上述幾位朋友都是工程派的大俠,他們可不是簡單地能夠使用,其實是更高層次的“無招勝有招”),學習者可能感覺有點不透徹。所以,學習者,特別是初學者,要知道一些內部原因,但是也別為了鉆研內部原因而忘記了應用的目的。看來兩者協調還是一個難辦的事情。不用著急,隨著實踐的深入,就逐漸有體會了。

下面我根據MARK Lutz的《Learning Python》中的“大師眼中的OOP”,列一些使用OOP的常見原因。
 •代碼重用。這是很簡單(并且是使用OOP的最主要原因)。通過支持繼承,類允許通過定制來編程,而不是每次都從頭開始一個項目。
 •封裝。在對象接口后包裝其實現的細節,從而隔離了代碼的修改對用戶產生的影響。
 •結構。類提供了一個新的本地作用域,最小化了變量名沖突。他們還提供了一種編寫和查找實現代碼,以及去管理對象狀態的自然場所。
 •維護性。類自然而然地促進了代碼的分解,這讓我們減少了冗余。對虧支持類的結構以及代碼重用,這樣每次只需要修改代碼中一個拷貝就可以了。
 •一致性。類和繼承可以實現通用的接口。這樣代碼不僅有了統一的外表和觀感,還簡化了代碼的調試、理解以及維護。
 •多態。多態讓代碼更靈活和有了廣泛的適用性。(這似乎是OOP的屬性,不是使用它的理由)
 
不管怎么樣,類是一個非常重要的東西,看官在學習的時候,一定要多加運用。

此外,對于python2來說,還有一個叫做“新式類”(new-style)的東西,這個對應于前面講過的類,那么前面講過的類就稱為“經典”(classic)類。但是,對于Python3來講,沒有這種區別,二者融合。只是在Python2中,兩個是有區別的。本教程在基礎部分,依然不講授新式類的問題,如果看官有興趣,可以自己在GOOGLE中查找有關資料,也可以隨著本課程深入,到下一個階段來學習。

綁定和無綁定方法

看官是否還記得,在學習類的方法的時候,提到過,類的方法就是函數,只不過這個函數的表現有點跟前面學過的函數不一樣,比如有個self。當然,也不是必須要有的,下面看官就會看到沒有self的。既然方法和函數一樣,本質上都是函數,那么,函數那部分學習的時候已經明確了:函數是對象,所以,類方法也是對象。正如剛才說的,類的方法中,有的可以有self,有的可以沒有。為了進行區別,進一步做了這樣的定義:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 伊川县| 兴安县| 凤凰县| 喀喇沁旗| 宁国市| 长沙市| 长治县| 措勤县| 垫江县| 蒙自县| 澎湖县| 奈曼旗| 奉化市| 台江县| 绿春县| 昆明市| 阿坝县| 楚雄市| 清新县| 青州市| 逊克县| 峨山| 阳山县| 宕昌县| 福建省| 兴海县| 岢岚县| 什邡市| 宁武县| 栾川县| 汉寿县| 开江县| 个旧市| 乐业县| 利川市| 巴彦县| 尖扎县| 清原| 芮城县| 阜宁县| 万宁市|