日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

詳解python方法之綁定方法與非綁定方法

瀏覽:117日期:2022-07-13 16:32:28

寫在之前

在 Python 的類里面除了屬性之外,還有方法,當然也有文檔和注釋這類東西,但是這個只是人來看,計算機則不關心。我們之前說過,我們一般用實例調用方法,既然我們說了是一般,那么就說明還有其他調用方法的方式,今天我們就來說一下「綁定方法和非綁定方法」。

綁定方法和非綁定方法

在 Python 中除了特殊方法以外,類中的其他普通方法也是經常用到的,所以對于普通的方法也要進行研究,下面我們來看一個例子:

>>> class Sample:... def f(self):... print(’f function is a normal method’)...>>> sam = Sample()>>> sam.ff function is a normal method

從我們之前的學習中你知道,在類 sample 中,方法 f() 本質上是一個函數,只不過這個函數的第一個參數必須是 self,當然了,為了區別我們在類中給它起了另外的一個名字「方法」。但是跟函數相比,在本質上沒什么不同。

當創建了實例以后,我們在用實例調用這個方法的時候,因為 Python 解釋器已經把實例作為第一個參數隱式的傳給了該方法,所以 self 這個參數不需要顯式的寫出來,這個知識點我反復說了很多次,就是為了能讓大家理解 self 是實例!

如果想要把實例顯式的傳給方法,可以用下面的方式:

>>> Sample.f(sam)f function is a normal method

用上述方法能更好的證明前面的觀點,即實例化以后,self 和實例 sam 是相同的。一般情況下我們再類里面使用 self,在類外面使用 sam,二者各有分工。

那如果我們在用類調用方法的時候,不傳實例會發生什么呢?

>>> Sample.f()Traceback (most recent call last): File '<stdin>', line 1, in <module>TypeError: unbound method f() must be called with Sample instance as first argument (got nothing instead)

答案是會報錯,我們仔細看一下是因為缺少了一個參數,它是一個實例,所以我們要傳一個實例。

Python 中的一切都是對象,所以類 Sample 的方法 f() 也是對象,具體點說是一個函數對象,那么我們可以像下面這樣來獲得該對象:

>>> Sample.f<function Sample.f at 0x000000000244AB48>

當然我們也可以通過實例來獲得對象:

>>> sam.f<bound method Sample.f of <__main__.sample instance at 0x000000000244AB48>>

上面用實例來得到這個方法對象,在這里我們看到是「綁定方法」(bound method)。

下面就要逐漸接近 “綁定方法” 和 “非綁定方法” 的概念本質了。

在類 Sample 的屬性中,有一個叫 __dict__ 的屬性方法,我們在前面的文章中也介紹過,我們接下來就用它來看一下類的內部信息:

>>> sample.__dict__[’f’]<function f at 0x000000000250D828>

從上面來看,可以近一步的說明 f 是一個函數對象。

接下來讓我們學習一個新的知識叫做「描述器」,那么什么是描述器呢?在 Python 中有幾個比較特殊的特殊方法,分別是 __get__(),__set__() 和 __delete__(),稍微簡單點來說,有這些特殊方法的對象就叫做「描述器」。

描述器在 Python 中使用廣泛,如果你還記得我講過的 super,它是屬性,實例方法,繼承等使用 super 的背后實現機制。關于描述器的內容,在這做具體的說明,在這里提到它,純粹是為了解決綁定方法和非綁定方法的問題。所以如果你有興趣的話,可以自行 Google。

我們在這里僅看一下 __get__() ,關于它的所謂的描述器協議如下:

des.__get__(self,obj,type=None) ---> value

具體應用到上面的那個例子則是如下操作:

>>> sample.__dict__[’f’].__get__(sam,sample)<bound method sample.f of <__main__.sample instance at 0x000000000244AB48>>

你可以發現上面顯示的結果和 sam.f 是一樣的。所以綜上,我們可以認為:當通過類來獲取方法的時候,得到的是非綁定方法對象;當通過實例來獲取方法的時候,得到的是綁定方法對象。

寫在之后

綁定方法和非綁定方法到這就結束了,類的方法可分為不少,除了綁定方法和非綁定方法以外,還有靜態方法和類方法等,我會在接下來依次的進行介紹,敬請期待。

寫出來的東西是我的,看進去的東西才是你的,希望你不要浪費自己的時間,要學有所得。如果你覺得文章對你有幫助的話,歡迎你點贊轉發,謝謝支持。

The end。

以上就是詳解python方法之綁定方法與非綁定方法的詳細內容,更多關于python 綁定方法與非綁定方法的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美久久一区二区三区| 日韩伦理福利| 亚洲婷婷在线| 欧洲av不卡| 久久高清免费| 国产91久久精品一区二区| av高清一区| 精品丝袜在线| 欧美1区2区3区| 最新亚洲一区| 免费国产亚洲视频| 免费在线成人网| 亚洲18在线| 五月天久久网站| 蜜桃视频一区二区| 青青青国产精品| 精品国产一区二区三区噜噜噜| 精品久久久中文字幕| 亚洲精品综合| 国产精品第一| 亚洲欧洲美洲av| 美女网站一区| 每日更新成人在线视频| 亚洲伊人精品酒店| 国产欧美自拍一区| 久久精品午夜| 欧美日韩国产在线观看网站 | 久久精品国产久精国产| av资源中文在线| 免费毛片在线不卡| 亚洲天堂av资源在线观看| 国产精品一区二区美女视频免费看 | 欧美好骚综合网| 首页国产欧美久久| 国产亚洲一区二区三区不卡| 精品久久在线| 日韩视频免费| 日本午夜精品一区二区三区电影| 国产伦乱精品| www.九色在线| 国产免费成人| 国产乱码精品| 久久天堂av| 日韩在线网址| 岛国av在线网站| 免费在线观看日韩欧美| 麻豆精品蜜桃视频网站| 天堂av在线| 中文一区一区三区免费在线观| 日本在线视频一区二区| 高清久久精品| 久久亚洲二区| 国产成人精品福利| 男女男精品网站| 久久天堂影院| 日韩影院免费视频| 日韩av有码| 免费成人在线影院| 国产不卡一区| 四虎精品永久免费| 日本免费一区二区三区四区| 亚洲精品少妇| 久久精品国产亚洲夜色av网站| 综合色一区二区| 91一区二区三区四区| 久久精品三级| 免费在线观看日韩欧美| 精品午夜久久| 综合国产精品| 亚洲精品**中文毛片| 亚洲精品麻豆| 久久狠狠婷婷| 麻豆一区二区在线| 一区二区日韩免费看| 亚洲天堂资源| 国产精品一区二区精品| 亚洲免费中文| 性感美女一区二区在线观看| 国产免费av国片精品草莓男男| 91精品二区| 久久影院午夜精品| 日本午夜精品久久久| 亚洲综合电影一区二区三区| 黄色aa久久| 国产日韩亚洲| 亚洲欧美日韩国产| 日韩精品欧美| 色婷婷亚洲mv天堂mv在影片| 日韩高清一区在线| 不卡av一区二区| 高清不卡一区| 国产极品模特精品一二| 亚洲精品护士| 久久都是精品| 秋霞国产精品| 国产不卡精品| 欧美激情日韩| 日韩精品免费视频一区二区三区| 亚洲精品va| 精品淫伦v久久水蜜桃| 欧美三区不卡| 亚洲精品一区二区在线播放∴| 91国语精品自产拍| 成人午夜精品| 高清精品久久| 另类欧美日韩国产在线| 日本不卡一区二区| 视频一区二区不卡| 性欧美69xoxoxoxo| 激情久久久久久| a天堂资源在线| 91亚洲成人| 久久久久免费| 欧美精品二区| 国产精品xxx| 国产精品伊人| 久久99精品久久久野外观看| 国产日韩欧美一区| 日韩国产在线观看一区| 中文字幕av一区二区三区人| 蜜桃av一区二区| 国产高清久久| 尤物在线精品| 免费日韩av| 香蕉久久夜色精品国产| 99亚洲视频| 午夜精品亚洲| 亚洲一区日本| 一区二区三区国产盗摄| 老色鬼久久亚洲一区二区| 国产精品美女| 亚洲精品第一| 国产欧美高清视频在线| 六月丁香综合在线视频| 久久精品国产999大香线蕉| 九九九精品视频| 日韩欧美午夜| 91精品二区| 日韩影院在线观看| 日本一区二区中文字幕| 欧美一级二区| 欧美激情视频一区二区三区免费 | 日韩精品一区二区三区中文字幕| 亚洲aⅴ网站| 国产精品一国产精品| 精品一区电影| 三级小说欧洲区亚洲区| 91精品福利| 婷婷精品在线| 国产极品一区| 久久三级视频| 久久国产精品亚洲77777| 婷婷亚洲成人| 国产专区精品| 美女久久久久| 日韩中文字幕不卡| 国产欧美在线| 日韩欧美中文| 噜噜噜躁狠狠躁狠狠精品视频| 日韩在线麻豆| 国产91欧美| 国产毛片一区| 久久不卡国产精品一区二区| 成人啊v在线| 中文字幕av一区二区三区四区| 国产精品任我爽爆在线播放 | 精品亚洲美女网站| 视频在线观看一区| 欧美成a人片免费观看久久五月天| 97精品国产福利一区二区三区| 欧洲激情综合| 91大神在线观看线路一区| 久久精品二区亚洲w码| 国产一区久久| 欧美在线精品一区| av日韩中文| 亚洲精品在线国产| 麻豆成全视频免费观看在线看| 亚洲欧美高清| 精品久久久中文字幕| 亚洲一区二区三区高清不卡| 欧美亚洲tv| 久久精品影视| 欧美亚洲综合视频| 性欧美xxxx免费岛国不卡电影| 中文字幕日本一区| 美女网站视频一区| 国产欧美日韩一级| 欧美日韩国产高清| 美腿丝袜亚洲三区| 老牛国产精品一区的观看方式| 精品久久精品| 蜜臀av一区二区三区| 国产一区2区在线观看| 免费在线看一区| 日韩精品专区| 日韩精选在线| 欧美午夜精品一区二区三区电影| 欧美日一区二区三区在线观看国产免 | 亚洲精品成人一区|