1. 程式人生 > >python物件、類

python物件、類

python物件、類

一、  python的類

類可以比作是某種型別集合的描述

把一類相同的事物叫做類,其擁有相同的屬性(其實就是變數)描述,裡面封裝了相同的方法。比如,汽車是一個類,它包括價格、品牌等屬性。

二、  python物件

python使用物件模型來儲存資料。構造任何型別的值都是一個物件。

所有Python物件都擁有三個特性:身份型別

身份:每個物件都有一個唯一的身份標識,任何物件的身份可以使用內建函式id()來得到

型別:物件的型別決定了該物件可以儲存什麼型別的值,可以進行什麼樣的操作,以及遵循什麼樣的規則。可以使用 type()函式檢視python物件的型別。type()返回的是物件而不是簡單的字串。


:物件表示的資料。

 

用一段程式碼來形象的解釋一下類和物件,hp、lenovo都是一種電腦,不同的電腦又有不同的品牌,不同的價格,

所以,膝上型電腦Laptop就表示“電腦”這一類事物,電腦有很多屬性,比如品牌,價格等等。而hp,Lenovo都是電腦這個大類中的一種,它是具體的,有自己的單獨的價格和品牌,所以hp、Lenovo是Laptop的一個物件那上面def printlaptop(self)中的self是什麼呢,它就表示物件。

我們呼叫函式時傳的Lenovo物件的引數lenovo.type、lenovo.price被類中printlaptopInfo函式以self的身份接收,所以我們在使用引數的時候自然就變成了self. type、self.price。上圖中標記的給物件初始化就是給物件的屬性進行賦值

有了類就有封裝、繼承、多型

多型:

多型即多種形態,在執行時確定其狀態,在編譯階段無法確定其型別,這就是多型。Python中的多型和Java以及C++中的多型有點不同,Python中的變數是動態型別的,在定義時不用指明其型別,它會根據需要在執行時確定變數的型別。

Python本身是一種解釋性語言,不進行預編譯,因此它就只在執行時確定其狀態,故也有人說Python是一種多型語言。在Python中很多地方都可以體現多型的特性,比如內建函式len(object),len函式不僅可以計算字串的長度,還可以計算列表、元組等物件中的資料個數,這裡在執行時通過引數型別確定其具體的計算過程,正是多型的一種體現。

 ps:未完,待續........