在面嚮物件語言中,類是一段可擴充套件的程式碼,表示用於建立和使用該類物件的模板。類的物件只是引用所定義類的例項。
在Python程式語言中,每個資料段都表示為某個類的例項。如果您不熟悉該語言,請在繼續之前參閱我們的Python初學者指南。
類以成員函式(也稱為方法)的形式提供了一組行為,這些行為具有該類的所有例項所共有的實現,並且它還確定了其例項的狀態資訊以屬性的形式表示的方式。
閱讀更多:Python中的類方法:重要區別
下面的程式碼表示Python中定義的類的示例。程式碼中定義的類提供了RaceCar類的實現。
該類的每個例項都為不同品牌的汽車提供了一個簡單的模型,幷包含以下狀態資訊:汽車名稱、駕駛員姓名、汽車車牌號、當前速度、超速收費和顏色。
這一級別的汽車在每輛車內都有一個特殊的感測器,如果司機超過法定時速140英里,將被處以50美元的罰款。
首先,請注意類中宣告的方法簽名與程式設計師用來呼叫函式的方法簽名之間存在差異。例如,類中定義的get\u colour方法接受一個引數,即“self”引數。
但是,當程式設計師在類的例項上呼叫此方法時,他不提供任何引數。同樣的現象可以在speeding\u ticket方法中觀察到,該方法被定義為在類中獲取兩個引數(即self和current\u speed),但是程式設計師可以透過僅提供'current\u speed'引數的值來執行該方法。
這是因為提供的“self”引數的目的是將方法繫結到呼叫它的物件例項,而不是程式設計師給定的值。
類的建構函式指的是類的方法,使用者可以呼叫該方法來建立該類的物件例項。在Car類中,使用者可以使用以下語法建立物件例項:
#creating our very own Bugatti :)Car(“Bugatti”, “David Sasu”, 90828, 0, 0, "Cherry Red")執行這段程式碼會導致呼叫Car類中的\uuu init \uuuuu方法。此方法的職責是使用提供的例項值生成新建立的credit car物件。Car類的每個物件由六個例項變數組成,它們是:
這些方法是為訪問物件例項的狀態資訊而編寫的。在Car類中,編寫的訪問器方法有:
這些方法是用來改變物件例項的狀態資訊的。在Car類中,編寫的mutator方法是:
“封裝”是一個術語,用於描述面向物件設計的原則,其中程式的元件不應揭示其各自實現的內部細節。為了增加您對封裝概念的理解,請參閱我們關於封裝的文章。
我們對Car類的實現並不健壯,因為它可能會崩潰或發生故障,這取決於它從程式設計師那裡接收到的輸入。
首先,注意,我們沒有檢查超速\u票據和make_u支付方法的引數型別,也沒有檢查建構函式的任何引數的型別。如果使用者提供了不需要的引數,則可能導致程式崩潰。例如,如果使用者呼叫了諸如超速的\u票據(“chips ahoy”),程式將崩潰,因為方法所期望的型別是整數而不是字串。
本文介紹了Python類和Python類物件的概念。還向您介紹了構建python類的思想,例如:封裝、“self”識別符號、訪問器方法和mutator方法。
有了這些資訊,您應該能夠自己建立一個簡單的Python類並對其進行測試:)
... 下面是如何表示物件陣列。在這種表示法中,陣列的每一項都是一個物件。以下是棒球運動員的工資樣本。 ...
...過程弄得不知所措。您需要在系統上安裝Python,然後學習如何使用命令列處理程式碼,或者學習如何使用互動式shell,或者學習如何設定pythonide。 ...
...元件。從這個意義上說,它幾乎與Django截然相反:Flask對如何構建web應用幾乎沒有任何意見。它簡單易學。 ...
...資料型別告訴編譯器(或者在Python的情況下告訴直譯器)如何使用資料。資料結構指定可以執行的操作,並且通常實現特定的規則和規定。 ...
有沒有想過如何在兩種程式語言之間傳送資料?是否嘗試傳送一個物件或多個數據段? ...
...您是一名經驗豐富的Python開發人員,還是剛剛起步,學習如何設定虛擬環境對於任何Python專案都是必不可少的。和我一起討論Python虛擬環境的所有知識。 ...
... 在本文中,我將向您展示如何使用Python讀寫googlesheets。如果您剛剛開始Python之旅,那麼以下5個學習Python的最佳網站是一個很好的起點。 ...
在這個快速簡單的Raspberry Pi專案中,您將學習如何**Gmail電子郵件通知燈。如果您有任何未讀的電子郵件,Python指令碼會開啟指示燈。這個專案需要很少的部分,可以在一個小時內完成!當然,你可以把你的LED打扮成任何你喜歡...
...言。這裡不是手動將資料複製到資料庫中,而是一個關於如何使用Pandas將Excel資料載入到Python中的快速教程。 ...
...的一切。Unity對小型開發人員是免費的,並且有大量關於如何最好地使用編輯器來建立您的想法原型的教程。 ...