? ? ? ? 原文中以定義Dog類且創(chuàng)建my_dog實(shí)例來(lái)引入類的講解和實(shí)戰(zhàn)惶洲。代碼如下:
? ? ? ? 類屬于一種面向?qū)ο蟮木幊谭椒ㄇ∑穑x類時(shí)惠赫,是一大類對(duì)象都有的通用行為和特征∑统保基于類創(chuàng)建對(duì)象時(shí)宏蛉,每個(gè)對(duì)象都自動(dòng)具備這種通用行為,這種方式可以減少一些不必要的重復(fù)工作鸵闪,使代碼已于編寫和讀取檐晕。未開(kāi)發(fā)工作提供很大便利性。
? ? ? ?大大的代碼蚌讼,只是將實(shí)例名稱變化了下:
? ? ? ?有代碼及運(yùn)行結(jié)果可知:
1辟灰、類的定義用class字符串+類的自定義名稱(用首字母大寫的方式便于區(qū)別其他函數(shù)和方法);
2篡石、文檔字符串用于對(duì)類的功能做說(shuō)明芥喇;
3、方法__inti__():(類中的函數(shù)稱為方法)是一個(gè)特殊方法凰萨,用于將一般通用的類行為和特征描述通過(guò)形參的方式包含于類的屬性中继控;用于對(duì)類的對(duì)象作初始化械馆;
A、前后必須是雙下劃線以便跟其他方法名稱的定義作區(qū)別武通;
B霹崎、必須包含形參self,并且在第一位冶忱;
4尾菇、通過(guò)self.描述性形參的方式給類中的屬性賦值;
5囚枪、類中的所有方法必須包含形參self派诬;
6、可通過(guò)引用類并賦值于實(shí)例名稱的方式創(chuàng)建實(shí)例链沼;在創(chuàng)建實(shí)例時(shí)默赂,只需提供描述性實(shí)參,self會(huì)自動(dòng)傳遞括勺,不需要為其單獨(dú)賦值缆八。
7、引用類中的方法時(shí)可像ptyhon中的一般方法:句點(diǎn)方式調(diào)用類中的方法朝刊。
? ? ? ? 如果有兩條狗耀里,名字不同蜈缤,但都是我的狗拾氓,是否可以同時(shí)創(chuàng)建兩個(gè)實(shí)例,并同時(shí)表示呢底哥?用同一個(gè)實(shí)例名創(chuàng)建兩個(gè)實(shí)例咙鞍,發(fā)現(xiàn)并不能實(shí)現(xiàn),因?yàn)閯?chuàng)建實(shí)例用一個(gè)實(shí)例名時(shí)相當(dāng)于變量賦值覆蓋了前一個(gè)趾徽。打印的永遠(yuǎn)是后一個(gè)實(shí)例的信息续滋。必須用不同的實(shí)例名去表示,或者創(chuàng)建實(shí)例的列表或字典孵奶,用循環(huán)去實(shí)現(xiàn)疲酌。
創(chuàng)建多個(gè)實(shí)例的例子:用不同實(shí)例名分別表示不同的實(shí)例。