python中類屬性和例項屬性的區別

2021-08-15 00:11:14 字數 949 閱讀 3178

一、類屬性

(1)類屬性的建立

class anamal(object):

class attr = 'class_attr' #類屬性

(2)類屬性的訪問

a、類名.屬性名

anamal.attr='new_name'
b、例項名.屬性名

instance_class = anamal

()print instance_class.attr

二、例項屬性

(1)例項屬性的建立,通常在init()方法中定義

class

anamal

(object):

def__init__

(self):

self.attr='instance_attr'

(2)動態建立:例項名.屬性名

instance_class = anamal

()instance_class.attr='new_name'

(3)例項屬性的訪問:例項.屬性名

instance_class = anamal

()instance_class.attr

物件是類的例項,類是相同結構的物件的抽象。同類的各個物件其實擁有相同的屬性和方法,只是屬性值不同而已。好比學生類中的學生物件,每個學生的屬性(身高,學號等)

類的屬性說的應該就是靜態變數(static修飾符)就是在類載入的時候,就已被分配了記憶體(存在於靜態區)只有乙份,所以new出來的物件都共享此屬性。而物件的屬性就非static修飾的屬性,是屬於單個例項化的類。沒new乙個例項就在堆記憶體中建立乙份。就等於多個拷貝,佔記憶體多,但比較靈活,自己修改自己的屬性值,互不影響。

Python 類屬性和例項屬性

一 簡述二者區別 對類屬性的修改可被儲存在類中 單例模式就是基於類屬性的這種特性 修改後的屬性能夠被子類繼承 例項屬性的修改只對該例項有效,不會對其他例項和其對應類的子類例項造成影響 二 來看下例子 類屬性 class a object a 1 pass print a.a 檢視a類的屬性a,結果為...

python 例項屬性和類屬性

如何在乙個類中定義一些常量,每個物件都可以方便訪問這些常量而不用重新構造?第乙個問題,在 python 的類裡,你只需要和函式並列地宣告並賦值,就可以實現這一點,例如這段 中的 welcome str。一種很常規的做法,是用全大寫來表示常量,因此我們可以在類中使用 self.welcome str ...

python中的類屬性和例項屬性

乙個類例項化後,例項是乙個物件,有屬性。同樣,類也是乙個物件,它也有屬性。定義乙個類屬性,如下 class a x 7定義乙個很簡單的類,類中有乙個變數x 7,在類a中,變數x所引用的資料,能夠直接通過類來呼叫。或者說x是類a的屬性,這種屬性稱為類屬性。class a x 7 if name mai...