python建立例項屬性 Python學習筆記

2021-10-18 14:58:20 字數 1203 閱讀 5659

# 這是學習廖雪峰老師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和類...