Python隨手筆記(八)--------面向對象編程(5)

8.5 實例屬性和類屬性

給實例綁定屬性的方法是通過實例變量,或者通過self變量:


>>> class Animal(object):
	def __init__(self,name):
		self.name = name
>>> an = Animal('wangda')
>>> an.age = 3

如果Student類本身需要綁定一個屬性呢?可以直接在class中定義屬性,這種屬性是類屬性,歸Student類所有:

class Student(object):
name = ‘Student’

當我們定義了一個類屬性後,這個屬性雖然歸類所有,但類的所有實例都可以訪問到。來測試一下:

>>> class Animal:
	name = 'animal'

	
>>> an = Animal()
>>> print(an.name)
animal
>>> print(Animal.name)
animal
>>> an.name = 'Dog'
>>> an.name
'Dog'
>>> print(an.name)
Dog
>>> print(Animal.name)
animal
>>> del an.name
>>> print(an.name)
animal

從上面的例子可以看出,在編寫程序的時候,千萬不要對實例屬性和類屬性使用相同的名字,因爲相同名稱的實例屬性將屏蔽掉類屬性,但是當你刪除實例屬性後,再使用相同的名稱,訪問到的將是類屬性。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章