成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

聊聊Python里面的Self,是誰啊?

開發(fā) 后端
Python的類不能直接使用,只有通過創(chuàng)建實例(對象)才能發(fā)揮它的功能,每個實例(對象)都是獨一無二的,它可以調用類的方法、屬性。類就像靈魂附體一樣,讓實例(對象)有了自己(self)的功能。

大家學Python面向對象的時候,總會遇到一個讓人難以理解的存在:self。

這個self到底是誰啊,為什么每個類實例方法都有一個參數(shù)self,它到底有什么作用呢?

「先下結論:類實例化后,self即代表著實例(對象)本身。」

想要理解self有個最簡單的方法,就是你把self當做「實例(對象)的身份證。」

Python的類不能直接使用,只有通過創(chuàng)建實例(對象)才能發(fā)揮它的功能,每個實例(對象)都是獨一無二的,它可以調用類的方法、屬性。類就像靈魂附體一樣,讓實例(對象)有了自己(self)的功能。

初學者會發(fā)現(xiàn),類的方法(構造方法和實例方法)中都會有一個固定參數(shù)self,其實這個參數(shù)就是代表著實例(對象)本身,就像是一個身份證,實例可以憑著身份證去調用類方法。

類比人類,人類就是一個Python類,每個個體的人代表著實例(對象),而每個人的身份證代表的Python中self,每個人可以憑借身份證去上大學、坐高鐵、住酒店...(方法),而Python中的實例(對象)也可以憑著self去調用類的方法。

上面是用類比的方法解釋了下self的含義,說到底self就是代表著實例本身,「當某個實例(對象)調用類方法時,該對象會把自身的引用作為第一個參數(shù)自動傳給該方法,而這第一個參數(shù)就是self。」

而且self只是約定俗成的寫法,你可以用任何其他名稱代替self,不會改變代碼含義,只不過我們一般不這樣做。

為了更好的說明self的作用,我們來舉個例子,下面有一個Students類:

class Students:
# 構造方法
def __init__(self,name):
self.name = name
# 實例方法
def study(self,examination_results):
self.examination_results = examination_results
print("同學{}的考試分數(shù)是{}".format(self.name,self.examination_results))
print("該實例對象的地址是{}".format(self))

先來個實例student_a。

studend_a = Students('studend_a')
print(studend_a.name)

結果打印出:studend_a。

再來個實例student_b。

studend_b = Students('studend_b')
print(studend_b.name)

結果打印出:studend_b。

可以看出,實例(對象)不一樣,打印出的結果也不一樣,當類被實例化后,self.name其實就等于實例(對象).name。

還是以剛剛的代碼為例,我們再來調用里面的實例方法,里面會打印出self,就能看得更加明顯了。

實例student_a:

studend_a = Students('studend_a')
print(studend_a.study(80))

輸出結果:

同學studend_a的考試分數(shù)是80 該實例對象的地址是<「main」.Students object at 0x00000129EB0F6A90>。

實例student_b:

studend_b = Students('studend_b')
print(studend_b.study(80))

輸出結果:

同學studend_b的考試分數(shù)是80 該實例對象的地址是<「main」.Students object at 0x00000129EB0F6B38>。

大家能清楚看到兩個實例打印出的self是不一樣的,因為self代表著實例(對象)本身。

以實例student_b來說,打印self出現(xiàn)下面對象信息。

<__main__.Students object at 0x00000129EB0F6B38>。

如果再打印 student_b,會出現(xiàn)同樣的結果。

print(student_b)

輸出:

<__main__.Students object at 0x00000129EB0F6B00>。

這個時候是不是就清楚了,類實例化后,self即代表著實例(對象)本身。

責任編輯:姜華 來源: 今日頭條
相關推薦

2024-04-11 13:02:10

Rust數(shù)據(jù)類型

2019-12-16 09:37:19

Kafka架構數(shù)據(jù)

2024-11-22 00:09:15

2024-01-29 00:29:49

通信技術行業(yè)

2021-02-05 08:42:21

云原生系統(tǒng)方式

2022-03-18 10:43:12

WebSocketHTML5TCP 連接

2023-06-08 18:17:07

OSPF路由協(xié)議

2020-06-17 07:40:26

監(jiān)控系統(tǒng)zabbix

2021-07-26 05:10:13

JavaJakarta EEJSR

2021-07-20 08:03:43

微服務應用程序

2013-01-04 13:50:06

Ubuntu

2020-07-02 14:30:12

SDNSDON交換機

2022-10-28 08:46:57

變革型領導IT

2022-03-17 21:30:31

BRAS寬帶服務器

2023-05-14 19:18:07

2017-07-12 16:45:10

Docker概念鏡像

2024-05-31 09:31:00

2009-12-17 14:24:39

Linux內核

2019-01-29 10:42:31

網絡個人信息密碼

2023-12-25 07:28:24

PythonSelf對象編程
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 在线免费亚洲视频 | 国产精品亚洲一区二区三区在线 | 久久伊 | www国产亚洲精品久久网站 | 在线小视频 | 欧美一级欧美三级在线观看 | 国产成人在线免费 | 在线观看中文字幕 | 亚洲乱码一区二区三区在线观看 | 精品国产乱码久久久久久丨区2区 | 国产精品亚洲一区二区三区在线观看 | h视频网站在线观看 | 亚洲视频一区 | 91精品久久久久久久久 | 成人在线中文字幕 | 性色av香蕉一区二区 | 国产午夜精品久久久 | 国产精品毛片一区二区三区 | 国产超碰人人爽人人做人人爱 | 欧美在线天堂 | 自拍视频国产 | 天堂成人av| 精品一二区 | www.亚洲视频.com | 亚洲免费网址 | 波多野吉衣久久 | 日韩一区二 | 精品99在线 | 亚洲成人精品 | 日日操夜夜操天天操 | 亚洲精品在线免费看 | 国产日韩欧美一区二区 | 精品国产鲁一鲁一区二区张丽 | 亚洲精品1| 国产毛片久久久久久久久春天 | 91精品国产欧美一区二区 | 在线播放国产一区二区三区 | 久久国产婷婷国产香蕉 | 久久一区二| 日日摸夜夜爽人人添av | xxx.在线观看 |