多继承c3算法与网路编程

2021-07-07 20:08

阅读:30454

标签:查找   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):
            pass
        
        class B(A):
            pass
        
        class C(B):
            pass
        
        class D(object):
            pass
        
        class E(D,C):
            pass
        
        class F(object):
            pass
        
        class G(F):
            pass
        
        class H(C,G):
            pass
        
        class Foo(E,H):
            pass
        
        """
        L(Foo + L(E)  + L(H) )
        L(E) = E,D,C,B,A,object
        L(H) = H,C,B,A,G,F,object
        Foo = (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算法与网路编程

标签:查找   lis   端口号   ipconfig   python   class   顺序   bsp   row   

原文地址:https://www.cnblogs.com/immkoy/p/9585983.html

上一篇:算法1

下一篇:Web开发问题记录


评论


亲,登录后才可以留言!