您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Python類是什么,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
面向對象編程是在面向過程編程的基礎上發展來的,它比面向過程編程具有更強的靈活性和擴展性。面向對象編程是程序員發展的分水嶺,很多初學者會因無法理解面向對象而放棄學習編程。
面向對象編程(Object-oriented Programming,簡稱 OOP),是一種封裝代碼的方法。其實,在前面章節的學習中,我們已經接觸了封裝,比如說,將亂七八糟的數據扔進列表中,這就是一種簡單的封裝,是數據層面的封裝;把常用的代碼塊打包成一個函數,這也是一種封裝,是語句層面的封裝。
打個比方,若在某游戲中設計一個烏龜的角色,應該如何來實現呢?使用面向對象的思想會更簡單,可以分為如下兩個方面進行描述:從表面特征來描述,例如,綠色的、有 4 條腿、重 10 kg、有外殼等等。從所具有的的行為來描述,例如,它會爬、會吃東西、會睡覺、會將頭和四肢縮到殼里,等等。
如果將烏龜用代碼來表示,則其表面特征可以用變量來表示,其行為特征可以通過建立各種函數來表示。參考代碼如下所示:
class tortoise: bodyColor = "綠色" footNum = 4 weight = 10 hasShell = True #會爬 def crawl(self): print("烏龜會爬") #會吃東西 def eat(self): print("烏龜吃東西") #會睡覺 def sleep(self): print("烏龜在睡覺") #會縮到殼里 def protect(self): print("烏龜縮進了殼里")
因此,從某種程序上,相比較只用變量或只用函數,使用面向對象的思想可以更好地模擬現實生活中的事物。
面向對象相關術語
在系統學習面向對象編程之前,初學者要了解有關面向對象的一些術語。當和其他人討論代碼的時候,或者嘗試查找我們遇到的問題的解決方案時,知道正確的術語會很有幫助。
面向對象中,常用術語包括:
類:可以理解是一個模板,通過它可以創建出無數個具體實例。比如,前面編寫的 tortoise 表示的只是烏龜這個物種,通過它可以創建出無數個實例來代表各種不同特征的烏龜(這一過程又稱為類的實例化)。
對象:類并不能直接使用,通過類創建出的實例(又稱對象)才能使用。這有點像汽車圖紙和汽車的關系,圖紙本身(類)并不能為人們使用,通過圖紙創建出的一輛輛車(對象)才能使用。
屬性:類中的所有變量稱為屬性。例如,tortoise 這個類中,bodyColor、footNum、weight、hasShell 都是這個類擁有的屬性。
方法:類中的所有函數通常稱為方法。不過,和函數所有不同的是,類方法至少要包含一個 self 參數(后續會做詳細介紹)。例如,tortoise 類中,crawl()、eat()、sleep()、protect() 都是這個類所擁有的方法,類方法無法單獨使用,只能和類的對象一起使用。
關于Python類是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。