# 這是學習廖雪峰老師python教程的學習筆記
1、概覽
1.1、例項繫結屬性
class student(object):
def __init__(self, name):
self.name = name
s = student('bob')#建立例項 s
s.score = 90#為s新增乙個score屬性
1.2、類繫結屬性
class student(object):
name = 'student'
name屬性歸類所有,但studen的所有instance都可以訪問到
# 例項訪問類屬性
>>> s = student()# 建立例項s
>>> print(s.name)# 列印name屬性,因為例項並沒有name屬性,所以會繼續查詢class的name屬性
student
# 給例項繫結 name 屬性
>>> s.name = 'michael'# 給例項繫結name屬性
>>> print(s.name)# 由於例項屬性優先順序比類屬性高,因此,它會遮蔽掉類的name屬性
michael
1.3、總結
相同名稱的例項屬性將遮蔽掉類屬性
2、例子
1、為了統計學生人數,可以給student類增加乙個類屬性,每建立乙個例項,該屬性自動增加:
# -*- coding: utf-8 -*-
class student(object):
count = 0
def __init__(self, name):
self.name = name
student.count = student.count + 1
#測試:if student.count != 0:
print('測試失敗!')
else:
bart = student('bart')
if student.count != 1:
print('測試失敗!')
else:
lisa = student('bart')
if student.count != 2:
print('測試失敗!')
else:
print('students:', student.count)
print('測試通過!')
Python中建立例項屬性 二
儘管可以通過person類建立出xiaoming xiaohong等例項,但是這些例項看上除了位址不同外,沒有什麼其他不同。在現實世界中,區分例項xiaoming xiaohong要依靠他們各自的名字 性別 生日等屬性。如何讓每個例項擁有各自不同的屬性?由於python是動態語言,對每乙個例項,都可...
python建立例項屬性 建立新的類或例項屬性
問題 你想建立乙個新的擁有一些額外功能的例項屬性型別,比如型別檢查。解決方案 如果你想建立乙個全新的例項屬性,可以通過乙個描述器類的形式來定義它的功能。下面是乙個例子 descriptor attribute for an integer type checked attribute class i...
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和類...