多繼承c3演算法與網路編程

來源:互聯網
上載者:User

標籤:尋找   lis   連接埠號碼   ipconfig   python   class   順序   bsp   row   

  • 一、多繼承c3演算法
    • 1、經典類與新式類
      • 在python2之中,可以編寫經典類和新式類,但是在python3之中編寫的都是新式類
      • 新式類,若自己和自己的前輩但凡有一個繼承object,那麼此類則為新式類
    • 2、經典類和新式類的尋找方法
      • 經典類,深度優先的尋找方式,即一條路走到黑,在先左後右的大方針之下,每一條尋找到底在切換另一條線路
      • 新式類,c3演算法,使用Foo.__mro__可以查看Foo類的繼承順序,和__super__類似
    • 3、c3演算法
      • 首先我們需要將每一條線路都寫出來,大方針還是由左至右,ru:Foo:Foo+(B,C,D,F,G)+(I,G,D,G,W)
      • 擷取其中第一個括弧的表頭,和其他表的表中除開表頭的類比較,沒有相同的就放在繼承裡面,如果純在就不變,使用下一個表的表頭進行比較
        class A(object):    passclass B(A):    passclass C(B):    passclass D(object):    passclass E(D,C):    passclass F(object):    passclass G(F):    passclass H(C,G):    passclass Foo(E,H):    pass"""L(Foo + L(E)  + L(H) )L(E) = E,D,C,B,A,objectL(H) = H,C,B,A,G,F,objectFoo = (object) + (G,F,object)Foo,E,D,H,C,B,A,G,F,object"""

         

  • 二、網路編程
    • 1、架構的分類:
      • 1、C/S架構,有用戶端的架構,client---》server
      • 2、B/S架構,沒有用戶端,在網站上的架構,browser----->server
    • 2、如何進行資料互動
      • 1、內部區域網路類:交換器會分配至多256個ip地址(windows查ip:在cmd中輸入ipconfig;mac中查ip在終端中輸入:ifconfig。
      • 2、公網ip則需要花錢租借
      • 3、相互連訊的本質還是互相發送高低電頻
    • 3、網路編程socket模組
      • 1、服務端
        • 首先建立socket模組. server=socket.socket( )
        • 綁定一個ip地址.server.bind( ( ip地址,連接埠號碼) ),連接埠號碼是自己設定的,用戶端需要提供一致的連接埠號碼才能進行通行,不同的進程調用的連接埠號碼不一樣
        • 設定最大隊列人數:server.listen( 數量)
        • 然後便可以等待客戶來串連,ret = server.accpept( ),此刻程式會陷入一個阻塞,若是一直未有用戶端成功串連便會一直等下去
        • 若是有客戶串連,程式便走下去,此刻我們列印這個ret,會得到一個元組,裡面有兩個元素,第一個是用戶端與服務端串連的對象,通常我們會使用conn來接他,另一個是用戶端的地址資訊,通常我們會用addr來接收它
        • conn叫全雙工系統管道,可以簡單的理解為一個傳送介質,需要知道的事,這個介質是有用戶端提供
        • 接下來我們便可以進行收發資訊,接受資訊時也會有阻塞,data=conn.recv(裡面是服務端通過介質擷取資訊時,一次性最大的擷取量,一般設定為1024位元組);發送訊息為,conn.send(必須是位元組型),而且記住,有發必須有收,在用戶端和服務端收發必須相互對應,不然程式便會堵塞
        • 最後記得關閉介質conn.close( )
        • 關閉伺服器需使用server.close( )
      • 2、用戶端
        • 1、同樣是先建立用戶端client=socket.socket( )
        • 2、client.connect( ( "伺服器位址",連接埠號碼) ),向服務端發送連結請求,程式走到這同樣會有阻塞,會一直嘗試連結知道連結成功
        • 3、client.send(位元組類型),發送訊息,data=client.recv( 1024),收訊息
        • 4、關閉用戶端client.close( )
      • 3、在py3中,收發資訊預設的都是位元組數,在py2中預設的收發的都是字串,這是由於py3中字串預設為unicode,故發送位元組更加節約空間

多繼承c3演算法與網路編程

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.