亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python利用MethodType綁定方法到類示例代碼

 更新時(shí)間:2017年08月27日 08:41:28   作者:自傷無(wú)色丶  
這篇文章主要給大家介紹了關(guān)于python利用MethodType綁定方法到類的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。

前言

本文主要給大家介紹了關(guān)于python用MethodType綁定方法到類的相關(guān)內(nèi)容,分享出來(lái)供大家參考學(xué)習(xí),下面話不多說(shuō)了,來(lái)一起看看詳細(xì)的介紹:

對(duì)python中MethodType不熟悉的朋友們可以先看看這篇文章

問(wèn)題引出

先看下面一段代碼:

from types import MethodType 
def set_age(self,age): 
 self.age=age 
class Stu(object): 
 pass 
Stu.set_age=MethodType(set_age,Stu) 
A=Stu() 
B=Stu() 
A.set_age(10) 
B.set_age(15) 
print(A.age,B.age)#結(jié)果都是15

運(yùn)行這段代碼我們會(huì)發(fā)現(xiàn)輸出結(jié)果都是15,我們明明分別設(shè)置了A和B對(duì)象的屬性值,為什么,會(huì)這樣呢?開(kāi)始我也有一樣的疑問(wèn),后來(lái)發(fā)現(xiàn)是對(duì)MethodType的理解不夠,經(jīng)過(guò)查證,得到如下解釋。

解析

Stu類本身并沒(méi)有屬性和方法,所以用這個(gè)類創(chuàng)建的實(shí)例也沒(méi)有屬性和方法。用MethodType將set_age方法綁定到Stu類,并不是將這個(gè)方法直接寫(xiě)到Stu類內(nèi)部,而是在Stu內(nèi)存中創(chuàng)建一個(gè)link指向外部的方法,在創(chuàng)建Stu實(shí)例的時(shí)候這個(gè)link也會(huì)被復(fù)制。所以不管創(chuàng)建多少實(shí)例,這些實(shí)例和Stu類都指向同一個(gè)set_age方法。A.set_age(10)并沒(méi)有在A這個(gè)實(shí)例內(nèi)部創(chuàng)建age屬性,而是將age屬性創(chuàng)建在外部set_age方法的內(nèi)存區(qū)中。因?yàn)锳和B內(nèi)部link都指向外部set_age方法的內(nèi)存區(qū),所以不管A還是B在調(diào)用set_age方法的時(shí)候改變的是set_age方法內(nèi)存區(qū)里的age屬性,所以A改了B也就改了,如果新建一個(gè)實(shí)例C在沒(méi)有調(diào)用set_age方法的前提下也會(huì)有age屬性,因?yàn)镃的link指向的set_age方法的內(nèi)存區(qū),而set_age之前被A或者B調(diào)用過(guò)了。

總結(jié)

大概意思就是通過(guò)這樣綁定的方法設(shè)置的屬性有點(diǎn)java中靜態(tài)變量的意思

好了,以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • pytorch如何保存訓(xùn)練模型參數(shù)并實(shí)現(xiàn)繼續(xù)訓(xùn)練

    pytorch如何保存訓(xùn)練模型參數(shù)并實(shí)現(xiàn)繼續(xù)訓(xùn)練

    這篇文章主要介紹了pytorch如何保存訓(xùn)練模型參數(shù)并實(shí)現(xiàn)繼續(xù)訓(xùn)練問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • 詳解Python?matplotlib中的色彩使用詳解

    詳解Python?matplotlib中的色彩使用詳解

    matplotlib中提供了一些常見(jiàn)顏色的字符串,并封裝成了幾個(gè)顏色字典,這篇文章主要來(lái)和大家講解一下matplotlib中的色彩使用,需要的可以參考一下
    2023-07-07
  • django中使用事務(wù)及接入支付寶支付功能

    django中使用事務(wù)及接入支付寶支付功能

    這篇文章主要介紹了django中使用事務(wù)以及接入支付寶支付功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-09-09
  • 詳解如何用Python登錄豆瓣并爬取影評(píng)

    詳解如何用Python登錄豆瓣并爬取影評(píng)

    這篇文章主要介紹了如何用Python登錄豆瓣并爬取影評(píng),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08
  • Tensorflow安裝問(wèn)題: Could not find a version that satisfies the requirement tensorflow

    Tensorflow安裝問(wèn)題: Could not find a version that satisfies the

    這篇文章主要介紹了Tensorflow安裝問(wèn)題: Could not find a version that satisfies the requirement tensorflow,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • pytorch lstm gru rnn 得到每個(gè)state輸出的操作

    pytorch lstm gru rnn 得到每個(gè)state輸出的操作

    這篇文章主要介紹了pytorch lstm gru rnn 得到每個(gè)state輸出的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • Python自動(dòng)掃描出微信不是好友名單的方法

    Python自動(dòng)掃描出微信不是好友名單的方法

    很多人想要清楚已經(jīng)被刪除的好友名單。面對(duì)龐大的好友數(shù)量想要清除談何容易,本文主要介紹了Python自動(dòng)掃描出微信不是好友名單的方法,感興趣的可以了解一下
    2021-05-05
  • python字符串的多行輸出的實(shí)例詳解

    python字符串的多行輸出的實(shí)例詳解

    在本篇文章里小編給大家整理的是一篇關(guān)于python字符串的多行輸出的實(shí)例詳解內(nèi)容,有興趣的朋友們跟著學(xué)習(xí)下。
    2021-06-06
  • python中的opencv?圖像分割與提取

    python中的opencv?圖像分割與提取

    這篇文章主要介紹了python中的opencv?圖像分割與提取,圖像中將前景對(duì)象作為目標(biāo)圖像分割或者提取出來(lái)。對(duì)背景本身并無(wú)興趣分水嶺算法及GrabCut算法對(duì)圖像進(jìn)行分割及提取。具體實(shí)現(xiàn)過(guò)程需要的朋友可以參考下面文章詳細(xì)介紹
    2022-06-06
  • FastApi如何快速構(gòu)建一個(gè)web項(xiàng)目的實(shí)現(xiàn)

    FastApi如何快速構(gòu)建一個(gè)web項(xiàng)目的實(shí)現(xiàn)

    本文主要介紹了FastApi如何快速構(gòu)建一個(gè)web項(xiàng)目的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03

最新評(píng)論