zoukankan      html  css  js  c++  java
  • py 的 第 27 天

    今天首先回顾一下上周的面向对象

      1,继承,封装,多态

      2,成员

      3,修饰符

      4,反射

      5,模块   -hashlib  加盐md5  -logging  写日志

      6,异常处理

      7,接口,抽象类+抽象方法=》约束

    今日内容

      1,面向对象多继承

      2,网路基础

      3,编写网络相关的程序

    内容详细

    1,面向对象多继承

      第一条原则先找左再找右

      class a(b,c):

      第二条原则是经典类和新式类

      经典类只有py2里有了py2.3里开始有的新式类

      py3只有新式类

      经典类和新式类的查找成员的顺序不一样

        经典类,一条道走到黑(深度优先)。

        新式类,c3算法实现(py2.3更新的c3算法)

      c3算法获取第一个表头 和  其他表位进行比较     不存在则拿走。   存在,则放弃,然后获取第二个表的表头再次和其他表的表身比较。

      c3算法object永远放在最后,如果object是正常类,按类处理,如果两个类都继承了这个类,就放下这个类往下走

      注意事项:

          super是遵循 mro的执行顺序的。

    2 网络编程

      a。软件

          客户端:cs架构,client -》server       开发客户端

          浏览器:bs架构,browser-〉server  网页就能用

      b。如何实现相互通信

                        服务端

        import  socket      py自带的模块   网络通信用的

        创建socket对象

        server  =  socket.socket() 

        绑定ip和读端口

        server.bind(('自己的ip地址‘)我这台电脑的自设的端口,为了程序隔离   )    bind就是绑定的意思

        后边最多等5个

        server.listen(5)

        等客户端到来,一直等

        ret1 = server.accept()

        print(ret1)

        ret1是个元组里面只有两个元素  conn,addr       conn是客户端和服务端链接的对象,服务端以后要通过该对象进行收发数据。addr是客户端的地址信息

        data=conn.recv(1024)    recv是接收信息,通过对象去获取客户通过介质发给我的信息   1024表示服务端通过介质获取数据时一次性最多拿1024字节

        print(data)  打印看看客户端发来的是什么

        conn.send(b‘’)                 send是回信息,b是字节的意思,里面什么都行

        conn.close()  与客户端断开链接

        server.close()关闭服务端

                客户端

      import  socket

      bianliang  =  socket.socket

      客服向服务端发起连接请求      对面服务器如果没开也阻塞,知道连接成功后,才继续走

      bianliang.connect('服务端的端口',服务端设置的端口)                只要这边有人来连接,对面accept阻塞那立刻向下运行

      如果服务端先是输出,这边就显示输入,recv,反之send    这边输出输入有坑,输出的时候要写send。(b‘a’)b表示转一下字节,这个必须加,否则不是字节转不出去,对面收到的时候直接打印会把b和引号都打印出来,接收后打印也要转一下

    unicode  现在用到21位了 一共32位

      

  • 相关阅读:
    PAT (Advanced Level) 1114. Family Property (25)
    PAT (Advanced Level) 1113. Integer Set Partition (25)
    PAT (Advanced Level) 1112. Stucked Keyboard (20)
    PAT (Advanced Level) 1111. Online Map (30)
    PAT (Advanced Level) 1110. Complete Binary Tree (25)
    PAT (Advanced Level) 1109. Group Photo (25)
    PAT (Advanced Level) 1108. Finding Average (20)
    PAT (Advanced Level) 1107. Social Clusters (30)
    PAT (Advanced Level) 1106. Lowest Price in Supply Chain (25)
    PAT (Advanced Level) 1105. Spiral Matrix (25)
  • 原文地址:https://www.cnblogs.com/Mrszhao/p/9588433.html
Copyright © 2011-2022 走看看