? ? ? ? 原文中以定義Dog類且創建my_dog實例來引入類的講解和實戰。代碼如下:
? ? ? ? 類屬于一種面向對象的編程方法,定義類時,是一大類對象都有的通用行為和特征。基于類創建對象時,每個對象都自動具備這種通用行為,這種方式可以減少一些不必要的重復工作,使代碼已于編寫和讀取。未開發工作提供很大便利性。
? ? ? ?大大的代碼,只是將實例名稱變化了下:
? ? ? ?有代碼及運行結果可知:
1、類的定義用class字符串+類的自定義名稱(用首字母大寫的方式便于區別其他函數和方法);
2、文檔字符串用于對類的功能做說明;
3、方法__inti__():(類中的函數稱為方法)是一個特殊方法,用于將一般通用的類行為和特征描述通過形參的方式包含于類的屬性中;用于對類的對象作初始化;
A、前后必須是雙下劃線以便跟其他方法名稱的定義作區別;
B、必須包含形參self,并且在第一位;
4、通過self.描述性形參的方式給類中的屬性賦值;
5、類中的所有方法必須包含形參self;
6、可通過引用類并賦值于實例名稱的方式創建實例;在創建實例時,只需提供描述性實參,self會自動傳遞,不需要為其單獨賦值。
7、引用類中的方法時可像ptyhon中的一般方法:句點方式調用類中的方法。
? ? ? ? 如果有兩條狗,名字不同,但都是我的狗,是否可以同時創建兩個實例,并同時表示呢?用同一個實例名創建兩個實例,發現并不能實現,因為創建實例用一個實例名時相當于變量賦值覆蓋了前一個。打印的永遠是后一個實例的信息。必須用不同的實例名去表示,或者創建實例的列表或字典,用循環去實現。
創建多個實例的例子:用不同實例名分別表示不同的實例。