亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python中SocketServer有什么用

發布時間:2021-08-12 14:56:45 來源:億速云 閱讀:94 作者:小新 欄目:開發技術

這篇文章將為大家詳細講解有關python中SocketServer有什么用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

回顧一下關于類的繼承的知識:

python中SocketServer有什么用

python中SocketServer有什么用

python中SocketServer有什么用

我們先看上面的代碼,這是一個簡單的類繼承,我們可以看到父類Base和子類Son,它們中各有一個Testfunc方法,當我們實例化子類的對象sonobj時,可以看到初始化方法中黃色框框調用了Testfunc,那么這個時候執行的是哪個類里面的代碼呢?我會告訴你執行的是子類里面的方法,不信就自己試試吧,代碼在下面~

為什么呢?其實這里是繞了一個圈,所以把很多人繞暈了,包括我!后來想想其實很容易,我們看最右邊的圖:

如果這樣看,我們是不是就明白了?其實這兩段代碼表示的是一個意思,盡管Son繼承了Base類,父子類中都有同樣的方法,但是由于我們實例化了子類的對象,所以這個在初始化方法里的self.Testfunc,self指的是子類的對象,當然也就先調用子類中的方法啦。

所以盡管在第一個例子中,初始化方法在父類執行,但是還是改變不了它是子類對象的本質,當我們使用self去調用Testfunc方法時,始終是先調用子類的方法。我們可以這樣理解,盡管兒子繼承了父親的財產,但是花錢的時候,還是要先花自己的~~~

#_*_coding:utf-8_*_
__author__ = 'Eva_J'
class Base(object):
  def __init__(self,name):
    self.name = name
    self.Testfunc()
  def Testfunc(self):
    print 'do Base Testfunc'
class Son(Base):
  def Testfunc(self):
    print 'do Son Testfunc'
sonobj = Son('sonobj')
inherit Code

看完剛剛的代碼,我們就知道了對象和self的真實意義,現在再來回憶一下關于繼承的順序問題:    

python中SocketServer有什么用

看上面的代碼,我們猜測一下,執行之后,控制臺會打印什么呢?先揭曉答案,會打印Base2方法中的內容,原因很簡單:盡管這三個類中都有同樣的Testfunc方法,但是,由于計算機在找方法的時候,遵循的順序是:Base2,Son,Base,所以它會先找到Base2類,而這個類中剛好有它要找的方法,它也就歡歡喜喜的拿去執行啦!

#_*_coding:utf-8_*_
__author__ = 'Eva_J'
class Base(object):
  def Testfunc(self):
    print 'do Base Testfunc'
class Son(Base):
  def __init__(self,name):
    self.name = name
    self.Testfunc()
  def Testfunc(self):
    print 'do Son Testfunc'
class Base2(object):
  def Testfunc(self):
    print 'do Base2 Testfunc'
class GrandSon(Base2,Son):
  pass
#sonobj = Son('sonobj')
sonobj = GrandSon('sonobj')
inherit2 Code

畫個簡易類圖

剛剛我們只是寫了一個小程序,來說明類之間的繼承和對象調用方法之間的聯系,但是如果我們想要hold住一個繼承關系復雜的源碼邏輯,就需要類圖來幫忙!如果你覺得我要教你畫類圖那就大錯特錯了。。。懶人癥重癥患者是懶得畫那種東西的。。。嘻,先看圖!

python中SocketServer有什么用

對照類圖看源碼

根據上面的圖,我們就拿到了threadingTCPServer的相關類,并且搞清楚了它們之間的繼承關系和方法,接下來我們對照這張簡易類圖來看看代碼執行的過程:

初始化相關過程:

python中SocketServer有什么用

執行serve_forever的相關代碼:

python中SocketServer有什么用

關于“python中SocketServer有什么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宿州市| 河南省| 巨野县| 南涧| 无为县| 喜德县| 什邡市| 青铜峡市| 襄汾县| 锡林郭勒盟| 芜湖县| 乌兰察布市| 青阳县| 无锡市| 威宁| 余庆县| 灵山县| 寻乌县| 昌黎县| 成都市| 海门市| 镇沅| 长乐市| 墨脱县| 蓬莱市| 三亚市| 富阳市| 泸溪县| 张北县| 中山市| 裕民县| 淮安市| 荥阳市| 邵阳市| 永顺县| 紫云| 蒲城县| 蓝田县| 水城县| 固始县| 进贤县|