實例屬性
因爲Python是動態語言,根據類建立的實例能夠任意綁定屬性
實例綁定屬性的方法
1) 經過實例變量
2) 經過self變量spa
class Student(object): def __init__(self, name): self.name = name #經過self變量綁定屬性 s = Student('Bob') s.score = 90 #經過實例變量綁定屬性
類屬性
若是類自己須要綁定一個屬性,能夠直接在class中定義屬性,這種屬性是類屬性
當定義了一個類屬性後,這個屬性雖然歸類全部,但類的全部實例均可以訪問到
實例屬性和類屬性不要使用相同的名字,由於相同名稱的實例屬性將屏蔽掉類屬性,可是當刪除實例屬性後,再用相同的名稱,訪問到的將是類屬性code
class Student(object): name = 'Student' s = Student() #建立實例s print(s.name) #輸出:Student print(Student.name) #輸出:Student s.name = 'Michael' #給實例綁定name屬性 print(s.name) #輸出:Michael print(Student.name) #輸出:Student del s.name #刪除實例的name屬性 print(s.name) #輸出:Student,再次調用s.name,因爲實例的name屬性沒有找到,類的name屬性就顯示出來了
實例屬性和類屬性
實例屬性屬於各個實例全部,互不干擾
類屬性屬於類全部,全部實例共享一個屬性
不要對實例屬性和類屬性使用相同的名字,不然將產生難以發現的錯誤blog