類屬性 例項屬性

2021-09-07 23:27:59 字數 1107 閱讀 6592

例項屬性(物件屬性)顧名思義,類屬性就是類物件所擁有的屬性,它被所有類物件的例項物件所共有,在記憶體中只存在乙個副本,這個和c++中類的靜態成員變數有點類似。對於公有的類屬性,在類外可以通過類物件和例項物件訪問

例項如下

class people(object):

name = 'tom' #公有的類屬性

__age = 12 #私有的類屬性

p = people()

print(p.name) #正確

print(people.name) #正確

print(p.__age) #錯誤,不能在類外通過例項物件訪問私有的類屬性

print(people.__age) #錯誤,不能在類外通過類物件

例項如下:

class people(object):

address = '山東' #類屬性

def __init__(self):

self.name = 'xiaowang' #例項屬性

self.age = 20 #例項屬性

p = people()

p.age =12 #例項屬性

print(p.address) #正確

print(p.name) #正確

print(p.age) #正確

print(people.address) #正確

print(people.name) #錯誤

print(people.age) #錯誤

例項如下:

class people(object):

country = 'china' #類屬性

print(people.country)

p = people()

print(p.country)

p.country = 'japan'

print(p.country) #例項屬性會遮蔽掉同名的類屬性

print(people.country)

del p.country #刪除例項屬性

print(p.country)

類屬性與例項屬性

給例項繫結屬性的方法是通過例項變數,或者通過self變數 class student object def init self,name self.name name s student bob s.score 90但是,如果student類本身需要繫結乙個屬性呢?可以直接在class中定義屬性,這...

Python類屬性,例項屬性

dreamfor的部落格 1.python類資料屬性 定義在類裡面但在函式外面的變數,它們都是靜態的。一段很簡單的 但反應了很多 class a a 1 乙個類裡面有個屬性a a a b a a.a b.a a.a 這個屬效能被例項和類訪問 a.a 2 b.a a.a 改變例項a的屬性a,例項b和類...

例項屬性和類屬性

例項屬性和類屬性 由於python是動態語言,根據類建立的例項可以任意繫結屬性。給例項繫結屬性的方法是通過例項變數,或者通過self變數 class student object def init self,name self.name name s student bob s.score 90但是...