大佬帶小白入門Python,花7天整理最詳細的面向對象案例,膩害

Python作為人工智能首選編程語言,也是最近大家知道比較火的編程語言,Python從設計之初就已經是一門面向對象的語言,正因為如此,在Python中創建一個類和對象是很容易的。下面有大牛級別程序員帶小白入門Python,花7天整理最全面向對象教程!供參考學習!

大佬帶小白入門Python,花7天整理最詳細的面向對象案例,膩害

大佬帶小白入門Python,花7天整理最詳細的面向對象案例,膩害

大佬帶小白入門Python,花7天整理最詳細的面向對象案例,膩害

大佬帶小白入門Python,花7天整理最詳細的面向對象案例,膩害

大佬帶小白入門Python,花7天整理最詳細的面向對象案例,膩害

大佬帶小白入門Python,花7天整理最詳細的面向對象案例,膩害

大佬帶小白入門Python,花7天整理最詳細的面向對象案例,膩害

在文末小編準備了Python學習的資料和教程,希望能幫到大家!

面向對象三大特性:

多態: 可對不同類的對象使用同樣的操作。

封裝:對外部世界隱藏對象的工作細節。

繼承:以普通的類為基礎建立專門的類對象。

大佬帶小白入門Python,花7天整理最詳細的面向對象案例,膩害

多態

面向對象程序設計最有趣的特性是多太,它是是讓大多數人犯暈的特性。所以,先來介紹這個。

多態意思是“有多種形式”。多態意味著就算不知道變量所引用的對象類是什麼,還是能對它進行操作,而它也會根據對象(或類)類型的不同而表現出不同的行為。

從最簡單的開始

任何不知道對象到底是什麼類型,但是又要對對象“做點什麼”的時候,都會用到多態。這不僅限於方法----很多內建運算符和函數都有多態的性質,考慮下面這個例子:

大佬帶小白入門Python,花7天整理最詳細的面向對象案例,膩害

封裝

封裝是對全局作用域中其它區域隱藏多餘信息的原則。

封裝聽起來有些像多態,因為他們都是 抽象的原則---他們都會幫助處理程序組件而不用過多關心多餘細節,就像函數做的一樣。

但是封裝並不等同於多態。多態的可以讓用戶對於不知道是什麼類(或對象類型)的對象進行方法調用,而封裝是可以不用關心對象是如何構建的而直接進行使用。

創建一個有對象(通過像調用函數一樣調用類)後,將變量c綁定到該對象上。可以使用setName 和 getName 方法(假設已經有)

大佬帶小白入門Python,花7天整理最詳細的面向對象案例,膩害

繼承

我們不想把同一段代碼寫好幾,之前使用的函數避免了這種情況。但現在又有個更微妙的問題。如果已經有了一個類,又想建立一個非常類似的類,只是添加幾個方法。

比如有動物類,我們又想在動物類的基礎上建立鳥類、魚類,哺乳動物類。

大佬帶小白入門Python,花7天整理最詳細的面向對象案例,膩害

大佬帶小白入門Python,花7天整理最詳細的面向對象案例,膩害

類和對象是面向對象編程的兩個主要方面。類創建一個新類型,而對象是這個類的實例。這類似於你有一個int類型的變量,這存儲整數的變量是int類的實例(對象)。

類和對象變量

我們已經討論了類與對象的功能部分,現在我們來看一下它的數據部分。事實上,它們只是與類和對象的名稱空間綁定的普通變量,即這些名稱只在這些類與對象的前提下有效。

有兩種類型的域——類的變量和對象的變量,它們根據是類還是對象擁有這個變量而區分。

類的變量由一個類的所有對象(實例)共享使用。只有一個類變量的拷貝,所以當某個對象對類的變量做了改動的時候,這個改動會反映到所有其他的實例上。

對象的變量由類的每個對象/實例擁有。因此每個對象有自己對這個域的一份拷貝,即它們不是共享的,在同一個類的不同實例中,雖然對象的變量有相同的名稱,但是是互不相關的。通過一個例子會使這個易於理解。

大佬帶小白入門Python,花7天整理最詳細的面向對象案例,膩害

如何工作:

這是一個很長的例子,但有助於說明類和對象變量的本質。這兒,population屬於Robot類,因此是一個類變量。name變量屬於對象(用self給其賦值),因此是一個對象變量。

大佬帶小白入門Python,花7天整理最詳細的面向對象案例,膩害

因此,我們使用Robot.population來引用population類變量,而不是用self.population來引用。我們在該對象的方法中用self.name來引用對象變量name。記住類和對象變量之間這個簡單的差別。也要注意一個與類變量有相同名字的對象變量會隱藏類變量!

好了,今天就分享到這裡,Python是一個面向對象的編程語言,理解這些概念會在將來有助於你進一步深入學習Python,如果您也在學習Python,歡迎留言或轉發給身邊想學習Python的人,希望給想學習Python更多幫助,祝在學習編程開發者,早日成為開發大牛!

對於小白Python資料和視頻教程分享,需要的可以拿走,私信小姐姐“資料”就 闊以!

相關推薦

推薦中...