由於Python是動態語言,根據類創建的實例可以任意綁定屬性。給實例綁定屬性的方法是通過實例變量,或者通過self變量:
<code> >class
Student
(object
):def
__init__
(
self
, name):self
.name = name > s = Student('Bob'
) > s.score =99
/<code>
如果Student類本身需要綁定一個屬性呢?可以直接在class中定義屬性,這種屬性是類屬性,歸Student類所有:
<code>class
Student
(object
): name ='Student'
class
Student
(object
): name ='Student'
/<code>
當我們定義了一個類屬性後,這個屬性雖然歸類所有,但類的所有實例都可以訪問到。來測試一下:
<code> >class
Student
(object
): name ='Student'
> s = Student() > print(s.name) Student > print(Student.name) Student > s.name ='Woodman'
> print(s.name) Woodman > print(Student.name) Student > del s.name > print(s.name) Student/<code>
從上面的例子可以看出,在編寫程序的時候,千萬不要對實例屬性和類屬性使用相同的名字,因為相同名稱的實例屬性將屏蔽掉類屬性,但是當你刪除實例屬性後,再使用相同的名稱,訪問到的將是類屬性。