Python作為人工智能首選編程語言,也是最近大家知道比較火的編程語言,Python從設計之初就已經是一門面向對象的語言,正因為如此,在Python中創(chuàng)建一個類和對象是很容易的。下面有大牛級別程序員帶小白入門Python,花7天整理最全面向對象教程!供參考學習! 在文末小編準備了Python學習的資料和教程,希望能幫到大家! 面向對象三大特性: 多態(tài): 可對不同類的對象使用同樣的操作。 封裝:對外部世界隱藏對象的工作細節(jié)。 繼承:以普通的類為基礎建立專門的類對象。 多態(tài) 面向對象程序設計最有趣的特性是多太,它是是讓大多數(shù)人犯暈的特性。所以,先來介紹這個。 多態(tài)意思是“有多種形式”。多態(tài)意味著就算不知道變量所引用的對象類是什么,還是能對它進行操作,而它也會根據(jù)對象(或類)類型的不同而表現(xiàn)出不同的行為。 從最簡單的開始 任何不知道對象到底是什么類型,但是又要對對象“做點什么”的時候,都會用到多態(tài)。這不僅限于方法----很多內建運算符和函數(shù)都有多態(tài)的性質,考慮下面這個例子: 封裝 封裝是對全局作用域中其它區(qū)域隱藏多余信息的原則。 封裝聽起來有些像多態(tài),因為他們都是 抽象的原則---他們都會幫助處理程序組件而不用過多關心多余細節(jié),就像函數(shù)做的一樣。 但是封裝并不等同于多態(tài)。多態(tài)的可以讓用戶對于不知道是什么類(或對象類型)的對象進行方法調用,而封裝是可以不用關心對象是如何構建的而直接進行使用。 創(chuàng)建一個有對象(通過像調用函數(shù)一樣調用類)后,將變量c綁定到該對象上??梢允褂胹etName 和 getName 方法(假設已經有) 繼承 我們不想把同一段代碼寫好幾,之前使用的函數(shù)避免了這種情況。但現(xiàn)在又有個更微妙的問題。如果已經有了一個類,又想建立一個非常類似的類,只是添加幾個方法。 比如有動物類,我們又想在動物類的基礎上建立鳥類、魚類,哺乳動物類。 類和對象是面向對象編程的兩個主要方面。類創(chuàng)建一個新類型,而對象是這個類的實例。這類似于你有一個int類型的變量,這存儲整數(shù)的變量是int類的實例(對象)。 類和對象變量 我們已經討論了類與對象的功能部分,現(xiàn)在我們來看一下它的數(shù)據(jù)部分。事實上,它們只是與類和對象的名稱空間綁定的普通變量,即這些名稱只在這些類與對象的前提下有效。 有兩種類型的域——類的變量和對象的變量,它們根據(jù)是類還是對象擁有這個變量而區(qū)分。 類的變量由一個類的所有對象(實例)共享使用。只有一個類變量的拷貝,所以當某個對象對類的變量做了改動的時候,這個改動會反映到所有其他的實例上。 對象的變量由類的每個對象/實例擁有。因此每個對象有自己對這個域的一份拷貝,即它們不是共享的,在同一個類的不同實例中,雖然對象的變量有相同的名稱,但是是互不相關的。通過一個例子會使這個易于理解。 如何工作: 這是一個很長的例子,但有助于說明類和對象變量的本質。這兒,population屬于Robot類,因此是一個類變量。name變量屬于對象(用self給其賦值),因此是一個對象變量。 因此,我們使用Robot.population來引用population類變量,而不是用self.population來引用。我們在該對象的方法中用self.name來引用對象變量name。記住類和對象變量之間這個簡單的差別。也要注意一個與類變量有相同名字的對象變量會隱藏類變量! 好了,今天就分享到這里,Python是一個面向對象的編程語言,理解這些概念會在將來有助于你進一步深入學習Python,如果您也在學習Python,歡迎留言或轉發(fā)給身邊想學習Python的人,希望給想學習Python更多幫助,祝在學習編程開發(fā)者,早日成為開發(fā)大牛! 對于小白Python資料和視頻教程分享,需要的可以拿走,私信小姐姐“資料”就 闊以! 階段一:Python基礎知識和高級特性
階段二:Linux基礎
階段三:數(shù)據(jù)庫原理和sql優(yōu)化
階段四:前端web開發(fā)
階段五:Python Web后端開發(fā)
階段六:爬蟲和數(shù)據(jù)分析
階段七:Python人工智能
|
|
來自: copy_left > 《python相關》