1. 程式人生 > >全面瞭解python中的類,物件,方法,屬性

全面瞭解python中的類,物件,方法,屬性

python中一切皆為物件,所謂物件:我自己就是一個物件,我玩的電腦就是物件,坐著的椅子就是物件,家裡養的小狗也是一個物件。。。。。。

我們通過描述屬性(特徵)和行為來描述一個物件的。比如家裡的小狗,它的顏色,大小,年齡,體重等是它的屬性或特徵。它會汪汪叫,會搖尾巴等是它的行為。

我們在描述一個真實物件(物體)時包括兩個方面:

它可以做什麼(行為)

它是什麼樣的(屬性或特徵)。

在python中,一個物件的特徵也稱為屬性(attribute)。它所具有的行為也稱為方法(method)

結論:物件=屬性+方法

在python中,把具有相同屬性和方法的物件歸為一個類(class)

比如人類,動物,植物等等,這些都是類的概念。

類是物件的模板或藍圖,類是物件的抽象化,物件是類的例項化。類不代表具體的事物,而物件表示具體的事物。 在這裡插入圖片描述定義一個people類,定義一個speak方法,但沒有定義屬性,

因為屬性不屬於類,而是屬於各個類的例項。也就是說屬於物件。

因此我們可以給每個例項設定不同的屬性 在這裡插入圖片描述#初始化物件

建立類時,可以定義一個特定的方法,名為__init__(),只要建立這個類的一個例項

就會執行這個方法。可以向__init__()方法傳遞引數,

這樣建立物件時就可以把屬性設定為你希望的值

init()這個方法會在建立物件時完成初始化,

在這裡插入圖片描述要讓print能打印出來,就得使用__str__方法

str()這個方法告訴python在列印(print)一個物件時,具體顯示什麼內容 #!/usr/bin/python class peo: def init

(self,name,age,sex): self,Name =name self,Age =age self,Sex =sex def speak(self): print “my ame” + self.Name def str(self): msg=‘my name is: ’ +self.Name+ “,”+ "my age is: " + self.Age +’,’+ “my sex is:” +self.Sex # msg=‘my name is: ’ +self.Name+ “,”+ "my age is: " + str(self.Age) +’,’+ “my sex is:” +self.Sex return msg shanghai=peo(‘shanghai’,‘23’,‘man’)

shanghai=peo(‘shanghai’,23,‘man’)

‘’’ msg=‘my name is: ’ +self.Name+ “,”+ "my age is: " + self.Age +’,’+ “my sex is:” +self.Sex

此處23是年齡,但被轉成了字串,因為self.Age定義的是字串

如果不將23轉義,則會報錯

如果希望在程式中就事先轉義,需要使用str(self.Age) ‘’’ print shanghai

‘’’ 之前多次用到self這個形參 類就好比是一張藍圖,使用一個類可以建立多個物件例項, speak()方法在被呼叫時,必須知道是哪個物件呼叫了它.

這裡self引數就會告訴方法是哪個物件來呼叫的.這稱為例項引用。 zhangsan。speak()就好比寫成了peo.speak(zhangsan) ‘’’