python中self原理實(shí)例分析
本文實(shí)例講述了python中self原理。分享給大家供大家參考。具體分析如下:
類(lèi)的方法與普通的函數(shù)只有一個(gè)特別的區(qū)別——它們必須有一個(gè)額外的第一個(gè)參數(shù)名稱(chēng),但是在調(diào)用這個(gè)方法的時(shí)候你不為這個(gè)參數(shù)賦值,Python會(huì)提供這個(gè)值。這個(gè)特別的變量指對(duì)象本身,按照慣例它的名稱(chēng)是self。
假如你有一個(gè)類(lèi)稱(chēng)為MyClass和這個(gè)類(lèi)的一個(gè)實(shí)例MyObject。當(dāng)你調(diào)用這個(gè)對(duì)象的方法 MyObject.method(arg1, arg2) 的時(shí)候,這會(huì)由Python自動(dòng)轉(zhuǎn)為 MyClass.method(MyObject, arg1, arg2)——這就是self的原理了。
這也意味著如果你有一個(gè)不需要參數(shù)的方法,你還是得給這個(gè)方法定義一個(gè)self參數(shù)。
示例程序:
>>> class P: ... def selfDemo(self): ... print 'Python, why self?' ... ... >>> p = P() >>> p.selfDemo() Python, why self? >>>
將selfDemo()中參數(shù)換為其他,如selfDemo(x),輸出同樣結(jié)果。
若不加參數(shù),則報(bào)錯(cuò):
>>> class P: ... def selfDemo(): # have no arguments ... print 'Python, why self?' ... ... >>> p = P() >>> p.selfDemo() Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: selfDemo() takes no arguments (1 given) >>>
希望本文所述對(duì)大家的Python程序設(shè)計(jì)有所幫助。
- python定義類(lèi)self用法實(shí)例解析
- 淺談Python類(lèi)中的self到底是干啥的
- 詳解Python self 參數(shù)
- Python中的self用法詳解
- python3中類(lèi)的繼承以及self和super的區(qū)別詳解
- 對(duì)Python中class和instance以及self的用法詳解
- Python中return self的用法詳解
- 全面理解Python中self的用法
- Python中為什么要用self探討
- python類(lèi)參數(shù)self使用示例
- python self,cls,decorator的理解
- python 參數(shù)列表中的self 顯式不等于冗余
- Python類(lèi)中self參數(shù)用法詳解
相關(guān)文章
Python自動(dòng)化測(cè)試之異常處理機(jī)制實(shí)例詳解
為了保持自動(dòng)化測(cè)試用例的健壯性,異常的捕獲及處理,日志的記錄對(duì)掌握自動(dòng)化測(cè)試執(zhí)行情況尤為重要,下面這篇文章主要給大家介紹了關(guān)于Python自動(dòng)化測(cè)試之異常處理機(jī)制的相關(guān)資料,需要的朋友可以參考下2022-06-06django模板語(yǔ)法學(xué)習(xí)之include示例詳解
寫(xiě)過(guò) Web 程序的都對(duì) include 包含文件很熟悉,那么在 Django,include 又是怎么一個(gè)機(jī)制呢?下面這篇文章主要給大家介紹了關(guān)于django模板語(yǔ)法學(xué)習(xí)之include的相關(guān)資料,需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-12-12python 爬蟲(chóng)之selenium可視化爬蟲(chóng)的實(shí)現(xiàn)
這篇文章主要介紹了python 爬蟲(chóng)之selenium可視化爬蟲(chóng)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12python next()和iter()函數(shù)原理解析
這篇文章主要介紹了python next()和iter()函數(shù)原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02使用python實(shí)現(xiàn)kNN分類(lèi)算法
這篇文章主要為大家詳細(xì)介紹了使用python實(shí)現(xiàn)kNN分類(lèi)算法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-10-10Python網(wǎng)絡(luò)爬蟲(chóng)與信息提取(實(shí)例講解)
下面小編就為大家?guī)?lái)一篇Python網(wǎng)絡(luò)爬蟲(chóng)與信息提取(實(shí)例講解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08Pandas 數(shù)據(jù)框增、刪、改、查、去重、抽樣基本操作方法
下面小編就為大家分享一篇Pandas 數(shù)據(jù)框增、刪、改、查、去重、抽樣基本操作方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-04-04