亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中的類到底是什么

發布時間:2021-06-22 17:24:59 來源:億速云 閱讀:239 作者:chen 欄目:編程語言

這篇文章主要介紹“Python中的類到底是什么”,在日常操作中,相信很多人在Python中的類到底是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Python中的類到底是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

前言

今天我們要說的是面向對象的核心-----類,類能幫我們把復雜的事情變得有條理,有順序,希望大家通過學習類能改善自己的編碼風格,使代碼變得更為好看,更加通俗易懂。

1.類的用法

一、什么是類

類(class),作為代碼的父親,可以說它包裹了很多有趣的函數和方法以及變量,下面我們試著簡單創建一個吧。

Python中的類到底是什么

這樣就算創建了我們的第一個類了。大家可以看到這里面有一個self,其實它指的就是類aa的實例。每個類中的函數只要你不是類函數或者靜態函數你都得加上這個self,當然你也可以用其他的代替這個self,只不過這是python中的寫法,就好比Java  中的this。

二、類的方法

1.靜態方法,類方法,普通方法

類一般常用有三種方法,即為static method(靜態方法),class  method(類方法)和self(普通方法)。下面我們來看看他們之間的區別吧。

Python中的類到底是什么

從這里可以看出我們的三種方法有一個共同點,那就是既可以在實例中訪問,也可以直接用類訪問。不同的是,類實例訪問時是不會執行init方法的,也就是沒有進行初始化。如果用類直接訪問,可以清楚看到它的運行軌跡。如果想在一個方法里調用其他方法則只需:實例名.方法名  或者 類名.方法名 即可。

2.安全方法,私有方法,安全變量,私有變量

安全方法一般是為了保護類的安全性,為了限制訪問權限而設立的。一般只需在方法前加單下劃線即可,那么私有方法怎么訪問呢?和其他方法訪問方法一樣。

Python中的類到底是什么

安全方法:可以在外部進行調用并且其他方法也能訪問到,它允許本身的任何方法進行訪問,并可在外部調用,安全屬性也是;

私有方法:只能在私有方法內部調用,不能通過類名或者類的實例名來調用,所以你可以在其他方法中通過self.ww來調用或者cls.ww來調用,這樣就做到了私有的功能。

三、類的特性

類的特性,相信接觸過面向對象的小伙伴應該都知道,封裝、繼承和多態。

1.封裝

講的就是將一個功能封裝到類中,這個很好理解。

2.繼承

就是一個類和另一個類的主體結構一致,就好比父親和兒子的區別,兒子繼承父親所有的特點,這使得他可以少做一些重復勞動,并且他還有自己的一套,這就叫繼承,下面我們通過實例說明:

Python中的類到底是什么

可以看出我們實現了繼承,就是簡單的在子類中添加了父類的名字,并且寫了個spuer,用來繼承父類的所有的特性。雖然父類的所有東西我們都能繼承,但并不是說所有的你都能用的,比如說父類的私有方法或者私有屬性:

Python中的類到底是什么

那么如果你想要使用它們那該怎么辦呢?很簡單,你只需將私有方法或者屬性添加到父類某個可以公開訪問的類中,然后子類就能使用這些父類定義的私有方法或者屬性了。

Python中的類到底是什么

當然,除了單一繼承,還有多繼承,它可以繼承兩個類的所有屬性和方法,只不過寫法與其他編程語言有點不同,它的多繼承就是遞歸繼承,不能同時繼承,也就是:

Python中的類到底是什么

這樣就實現了多繼承,多繼承可以大大簡化代碼量。我們可以通過一些魔法方法來獲得父類的名稱以及說明。

__bases__  #查看類的所有父類 __base__  #查看類的父類 __doc__    #查看類的使用文檔,在類中以三引號擴起來的部分都是文檔內容

我們注意到,只需繼承一個類就實現了多繼承,這是因為son類之前繼承過father類,所以現在你必須通過son類繼承father類,后面給它初始化,如果是兩個沒有任何關聯的類,則需要寫兩個類名進去,并且初始化。

3.多態

多態的應用使得類更靈活,它可以共享某個方法,給所有的類對象使用。我們來看看:

Python中的類到底是什么

這里是通過對一個函數傳一個對象,使得它擁有了類的特征功能,這也就是鴨子類型。

4.動態修改值

當一個類需要大量創建實例時,可以通過魔法方法slots來聲明。這樣可以減少內存消耗。但是它只是動態的修改,并沒有綁定到類的實例中,而且類只能訪問slots里設定的值。

Python中的類到底是什么

可以看到訪問不了值,因為沒有這個屬性,我們再來看看沒slots的時候:

Python中的類到底是什么

現在正常了,另外,子類的slots為它本身和父類的slots,父類只是本身。這樣極大省內存,但是這樣好像還不夠Python,因為他的局限性,讓我決定使用property。property有兩種創建方式,我們來看看:

一、裝飾器

直接在方法上運用裝飾器,十分方便。他有設置,獲取,刪除三個屬性,例如:

Python中的類到底是什么

可以看到,非常簡單就實現了功能,少寫了很多代碼哦。

二、在類中定義值為property對象的類屬性

使用property函數來實現:

Python中的類到底是什么

可以看到,這樣就實現,那么現在我們寫一個稍微復雜點的,可以進行交互的動態修改屬性吧。

Python中的類到底是什么

Python中的類到底是什么

可以看到,我輸入屬性名和屬性值,如果你想做的更好,可以給它加其他功能,比如私有方法私有屬性,訪問其他類。總之功能多多,需要你自己動手親自實踐。

四、總結

通過對類的解讀,讓大家明白了,代碼的簡潔美觀有多重要,為了我們的程序不那么low,請學好類。

到此,關于“Python中的類到底是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

砀山县| 滨海县| 贞丰县| 塘沽区| 沧州市| 隆化县| 申扎县| 台山市| 文登市| 佛坪县| 溧阳市| 东乡族自治县| 株洲市| 绥棱县| 若尔盖县| 全南县| 化州市| 临西县| 和林格尔县| 万山特区| 杭州市| 南昌县| 威海市| 古田县| 方正县| 定兴县| 仁布县| 黔江区| 巴南区| 大丰市| 邯郸县| 东乡族自治县| 碌曲县| 阜南县| 庆城县| 义马市| 尼勒克县| 沿河| 寻乌县| 兰州市| 隆昌县|