合肥北大青鳥介紹python基礎—面向對象編程
2019-02-18 23:36供稿中心:北大青鳥編輯

現在很多學生來咨詢的時候都會問到Python這門課程,關于Python的一些編程知識大家可能沒有接觸過,因此了解的相對不多,下面合工大北大青鳥的劉老師給大家做個詳細介紹,希望對大家有所幫助。
從這篇起我們開始學習一些python面向對象的編程知識,面向對象編程是一種編程方式,這種編程方式是基于類和對象的使用,當然除了面向對象這種方式還有我們知道的面向過程編程方式,在這里不多展開說了,大家只要知道現在主流的編程語言都是面向對象語言就可以了,例如java,C++等,在Python設計之出就是一門面向對象語言,但它不強制你必須寫OO的程序,但在java中,萬物皆類,必須用OO的方式來編程,我理解這可能也是Python入門容易的一個方面, 在我們之前寫的程序都是用函數來實現的,我們沒講太多的概念,但要學python, 必須先過OO這關,否則根本沒法繼續,在正式開始介紹面向對象編程前我們先了解下面向對象的一些術語:
類:對具有相同數據和方法的一組對象的描述或定義。
對象:對象是一個類的實例。
實例化:創建一個類的實例,類的具體對象
實例屬性(instance attribute):一個對象的數據或函數元素
實例方法(instance method):所有存取或者更新對象某個實例一條或者多條屬性的函數的集合。
類屬性(classattribute):屬于一個類中所有對象的屬性,僅與其被定義的類相綁定
類方法(classmethod):那些無須特定的對性實例就能夠工作的從屬于類的函數。
除了基本術語,面向對象還有三大特性: 繼承(Inheritance)、封裝(Encapsulation)和多態(Polymorphism),概念太多就不全部展開說了,因為就單單面向對象的知識就夠寫本書了,有的小伙伴可能覺得面向對象的理論知識太多了,能不學嗎?或者說面向對象編程重要嗎? 在這我給一個肯定的答復:面向對象編程非常重要,如果你想要深入學習編程,面向對象是必須要了解的,因為現在一些開源的項目或者稍微大點的項目基本都是面向對象思路,如果你不懂,那些代碼你根本沒法看,就是硬著頭皮看我估計也很難理清作者的編程思路,看到吐血直到自己放棄,在剛開始我們用不到,但當我們做一些項目時我們就要用到面向對象的方式去設計我們的代碼實現了, 所以這也就是為什么面向對象編程在一些書里屬于高級部分的原因,后續如果有時間我可以分享下我是如何閱讀別人代碼的。
上面講的比較抽象,下面我通過一些大白話來理解下類和對象,那如何定義類,什么時候需要定義類呢?根據我們前面的概念,一個類就是具有相同屬性和方法的對象定義或描述,例如我們人就是一個類,因為每個人都是人,但每個人又有不同,膚色,名字,性別等,這些就是人的屬性,人還會走,跑,這些就是人的方法,所以如果一個事物有共性的部分,我們就可以抽象出來定義成一個類,另一個例子 比如我們現在經常看到的滿大街的ofo 和摩拜自行車,從類的概念理解,每個自行車都有顏色,輪子等屬性, 而自行車行走,停止就是自行車的方法,我用通過調用這些方法來控制自行車的行為,通過顏色、公司屬性來定義一個具體的自行車,這就是類和對象,先定義類,然后類實例化一個對象,每個對象是具體的事物,他們有共同點又有不同點; 我們再來說一個項目中的例子,我們用到的數據庫類, 里面的數據庫名稱,DBIP, 連接的用戶名,密碼都是屬性, 而對數據庫的查詢,更新就是方法,例子就說這些, 大家應該都理解了, 這篇就寫到這里吧,具體代碼操作我們放下篇,我們看如何定義類、實例化和調用實例化方法。