无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

python中類方法、靜態(tài)方法和實(shí)例方法的區(qū)別(自學(xué)筆記)記住三句話(代碼實(shí)例)

2023-06-22 11:59 作者:博我以文文文  | 我要投稿

首先明白類是什么,通俗點(diǎn)說,類就是一個(gè)模板,是面向?qū)ο缶幊檀a泛型中,將數(shù)據(jù)和對(duì)數(shù)據(jù)的操作方法(既函數(shù))打包起來的一種模板,而對(duì)象就是模板類的一個(gè)實(shí)例。通俗點(diǎn)說,類就像一個(gè)盒子,將數(shù)據(jù)屬性和函數(shù)打包起來扔進(jìn)去,對(duì)象就像是這個(gè)盒子的名字,在進(jìn)行代碼編程的時(shí)候,我們就負(fù)責(zé)搭積木,將這些盒子堆在一起,程序就被抽象為一個(gè)或多個(gè)對(duì)象,通過對(duì)象之間的交互實(shí)現(xiàn)程序的功能,而不是一系列的指令。

面向?qū)ο缶幊蹋ɡ斫猓?/figcaption>

(找的網(wǎng)圖,懶得畫了,大概就這個(gè)意思就行了^-^)一個(gè)個(gè)盒子就是一個(gè)個(gè)類,在整個(gè)程序中通過對(duì)象的交互實(shí)現(xiàn)程序的功能,面向?qū)ο缶幊?,核心要解決的問題就是:省事(專業(yè)點(diǎn)就是代碼可讀性高,易于編程與更改)

言歸正傳言歸正傳

聲明一個(gè)類的時(shí)候,類中的變量分為:類變量和實(shí)例變量

類中的方法分為:實(shí)例方法,類方法和靜態(tài)方法

類方法:聲明類方法標(biāo)識(shí)符@classmethod 必須使用參數(shù)cls 可以訪問類變量(只有類方法可以訪問類變量),可以通過類名或者實(shí)例名來訪問

靜態(tài)方法:聲明靜態(tài)方法標(biāo)識(shí)符@staticmethod?不能訪問類變量也不能訪問實(shí)例變量,可以通過類名或者實(shí)例名來訪問

實(shí)例方法:聲明實(shí)例方法必須使用參數(shù)self不能訪問類變量,只能通過實(shí)例名來訪問

代碼實(shí)例:

class dogs():
? ?#類變量,只能由類方法訪問
? ?dogbook={'黃色':30,'黑色':20,'白色':0}

? ?def __init__(self,name,color,weight):
? ? ? ?self.name=name
? ? ? ?self.color=color
? ? ? ?self.weight=weight

? ?#定義一個(gè)實(shí)例方法,聲明實(shí)例方法必須使用參數(shù)self,不能訪問類變量,只能通過實(shí)例名來訪問
? ?def bark(self):
? ? ? ?print(f"{self.name}叫了起來")

? ?#定義類方法,聲明類方法必須使用參數(shù)cls 可以訪問類變量,可以通過類名或者實(shí)例名來訪問
? ?@classmethod
? ?def dog_num(cls):
? ? ? ?num=0
? ? ? ?for v in cls.dogbook.values():
? ? ? ? ? ?num = num+v
? ? ? ?return num

? ?#定義靜態(tài)方法,不能訪問類變量也不能訪問實(shí)例變量,可以通過類名或者實(shí)例名來訪問
? ?@staticmethod
? ?def total_weight(dogs):
? ? ? ?total = 0
? ? ? ?for i in dogs:
? ? ? ? ? ?total =total+i.weight
? ? ? ?return total

#類變量只能通過類名來訪問,dog_num()是類方法,在類方法中也可以訪問類變量
print(f"共有{dogs.dog_num()}條狗")
#類實(shí)例化對(duì)象d1和d2
d1 =dogs('大黃','黃色',20)
#bark()是實(shí)例方法,只能通過實(shí)例名來訪問,不能通過類名來訪問
d1.bark()
d2=dogs('小白','白色',8)
#靜態(tài)方法,不能訪問實(shí)例變量也不能訪問類變量,既可以通過實(shí)例名訪問,也可以通過類名訪問
print(f"大黃和小白一共重{dogs.total_weight([d1,d2])}斤")
print(f"大黃和小白一共重{d2.total_weight([d1,d2])}斤")

程序輸出結(jié)果(^-^)


python中類方法、靜態(tài)方法和實(shí)例方法的區(qū)別(自學(xué)筆記)記住三句話(代碼實(shí)例)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
平罗县| 罗江县| 陵川县| 额尔古纳市| 博白县| 绿春县| 华阴市| 佛教| 建德市| 尚志市| 醴陵市| 崇州市| 开江县| 闽侯县| 宣威市| 浮山县| 习水县| 醴陵市| 柞水县| 泸州市| 黑水县| 五指山市| 安塞县| 汶上县| 凌云县| 土默特左旗| 香港| 荆州市| 龙州县| 鄂州市| 县级市| 南充市| 响水县| 奉新县| 玉环县| 铅山县| 北票市| 体育| 渝中区| 涟水县| 清镇市|