最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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ó)家法律
日照市| 洪泽县| 盈江县| 兴文县| 石嘴山市| 高尔夫| 巴南区| 通许县| 高州市| 建阳市| 康马县| 赤壁市| 樟树市| 巢湖市| 澜沧| 龙游县| 江安县| 武邑县| 庐江县| 恩施市| 岳池县| 星子县| 曲水县| 长子县| 西青区| 沂源县| 剑阁县| 托里县| 高雄县| 永清县| 邯郸县| 金溪县| 老河口市| 灵丘县| 普陀区| 青岛市| 黄梅县| 漯河市| 六枝特区| 义马市| 峨眉山市|