類是抽象的模板,而實例是根據類創建出來的一個個具體的對象。每個對象都擁有相同的方法,但各自的數據可能不同。
和普通函數相比,在類中定義的函數的第一個參數永遠是實例變量self,調用時不用傳該參數。
數據封裝,面向對象的一個很重要的特征就是數據封裝,每個實例就擁有各自的name和score這些數據,我們可以通過函數訪問這些數據。這些封裝起來的函數與類相關,我們稱之為類方法。
通過在實例變量中調用方法,我們就直接操作了對象內部的數據,但無需知道方法內部實現的細節。
和靜態語言不同,Python允許對實例變量綁定任何數據,也就是說對於兩個實例變量,雖然他們都是同一類的不同的實例,但擁有的變量名稱可能不同。
面向對象的設計思想是從自然界中來的,因為在自然界中,類和實例的概念是很自然的,所以面向對象的設計師路 是抽象出class,根據class創建instance。面向對象的抽象程度又比函數要高,因為一個class既包含數據又包含操作數據的方法。
