類(class)抽象的概念,比如說人類、鳥類、水果、是一個總的稱呼,沒有具體到某個物體;
對象(object,指具體實例,instance);
給對象增加一個實例變量
# 增加一個skills實例變量 p.skills = ['programming','writing'] print(p.skills) #刪除p對象的name實例變量,而不是刪除類中變量,新建一個對象,name實例變量還是構造函數默認的。 del p.name # print(p.name) 會報錯
Python 允許通過對象訪問類變量 ,但如果程序通過對象嘗試對類變量賦值,此時性質就變了一Python 是動態語言,賦值語句往往意味著定義新變量。因此,如果程序通過對象對類變量賦值,其實不是對“類變量賦值”,而是定義新的實例變量 。例如如下程序 。
class Inventory: #定義兩個變量 quantity = 2000 item = '鼠標' #定義實例方法 def change(self,item,quantity): self.item = item self.quantity = quantity #創建Inventory對象 iv = Inventory() iv.change('顯示器',500) #訪問iv的item和quantity實例變量 print(iv.item) #顯示器 print(iv.quantity) #500 #訪問Inventotry的item和quantity類變量 print(Inventory.item) #鼠標 print(Inventory.quantity) #2000
觀點擴展:
Python的面向對象,可以簡單理解為你處理的東西都是“對象”。變量是指向一個對象的,變量名稱是一個對象,相關的是namespace這個概念。類代表一類東西,是個對象。class下面的instance就是類的具體表現,相當於具備某一特徵的個體,這些都是對象。
[f2h0b53ohn ] 如何理解python對象已經有257次圍觀