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位

      

  • 相关阅读:
    windows下面Nginx日志切割
    C#通过DocX创建word
    leetcode 189 Rotate Array
    leetcode 172 Factorial Trailing Zeroes
    leetcode 169 Majority Element 冰山查询
    leetcode 165 Compare Version Numbers
    leetcode 160 Intersection of Two Linked Lists
    【windows-》linux】SCP
    【设计】B端和C端区别
    【Flask】部署
  • 原文地址:https://www.cnblogs.com/Mrszhao/p/9588433.html
Copyright © 2011-2022 走看看