類屬性就是類物件
所擁有的屬性,它被所有類物件
的例項物件
所共有,在記憶體中只存在乙個副本,這個和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)
例項屬性和類屬性
例項屬性和類屬性 由於python是動態語言,根據類建立的例項可以任意繫結屬性。給例項繫結屬性的方法是通過例項變數,或者通過self變數 class student object def init self,name self.name name s student bob s.score 90但是...
類屬性和例項屬性
1.不可修改型別 物件屬性只要賦值,那麼此物件用的屬性就是自己的屬性,不會再用同名的類屬性,類屬性的變化不會再影響到此物件。2.可修改型別 a.修改內部屬性的值,只要修改不是賦值,那麼修改會影響到所有物件以及類屬性。b.如果是重新賦值操作,效果等同於不可修改型別。class a books 三國 西...
類屬性和例項屬性
首先,得了解類的特殊屬性 dict 它是乙個字典,用於儲存類或者例項的屬性,即使你沒有去定義它,它也存在每個類中,是預設隱藏的。然後來看下面三個問題 class testa attr 1obj a testa testa.attr 42print obj a.attr print testa.dic...