内容回顾

classmethod:

  • 用不到对象,并且要用类名的时候
  • 装饰一个方法,被装饰的方法会变成类方法

staticmethod:

  • 把一个函数放到类里,变成一个静态方法
  • 这个方法既用不到对象,也用不到类

魔术方法:

  • new
  • call
  • len
  • str
  • repr

今日内容

到网络编程啦!!哈哈哈

  • 网络的概念

    • 唯一标识:比如身份证号
    • 临时编号:比如学号
    • 不变的:mac地址,唯一标识你的机器
      • 17-8F-9A- 生产的网卡都是唯一的标识

    • 变化的:ip地址 更好的更方便的找到你的机器
  • 局域网的概念

    • 几台机器通讯
    • 交换机的出现
    • 把信息发给交换机,交换机进行转发。
    • 注:交换机只认识mac地址,用ip找到了mac地址
    • 用到交换机:广播、单播、组播
  • ARP协议(地址解析协议)

    • 通过一台机器的ip地址获取到mac地址
    • 用到的设备:交换机
    • 功能:广播、单播、组播
  • 路由器

    • 是个交换机
    • 网关:
      • 192.168.12.1
    • 网段:
      • 192.168.12.0
    • IP地址
      • ipv4:四位点分十进制
      • 192.168.12.87
      • 0-255
      • 0.0.0.0-255.255.255.255
      • 公网地址:需要我们自己申请购买的地址
      • 内网地址:保留字段
        • 192.168
        • 172.16-172.31
        • 10.0-10.255
      • 特殊ip地址:127.0.0.1 本地回环地址,测试用
      • 查看自己的ip:ipconfig
      • 子网掩码: 也是一个ip地址 用来判断两台机器在不在一个局域网内
        • 子网掩码和ip地址二进制按位与,得到的数就是所在网段
      • ipv6:16进制,甚至可以给地球上每粒沙子分ip地址
  • socket模块

    • import socket
      
      sk=socket.socket()
      sk.bind(('127.0.0.1',9000))
      sk.listen() #就可以等人来连接了 conn,addr=sk.accept()
      conn.send(b'hello')
      msg=conn.recv(1024)
      print(msg)
      conn.close() sk.close()
      import socket
      
      sk=socket.socket()
      sk.connect(('127.0.0.1',9000)) msg=sk.recv(1024)
      print(msg)
      sk.send(b'byebye') sk.close()
  • a-发消息->b

    • 10101010101
    • 你-->01101010|101011101|10001110
    • ip地址122.112.11.1--->0010001000010010100000101010
    • 端口号8000-->10000100101010101010010100101010
    • 能发,但接收端疯掉了,所有要约定,例如,前32位是xxx,后面是xx,然后是xxxx,这就是协议
  • 7层协议

    • 应用层
    • 表示层
    • 会话层
    • 传输层
    • 网络层
    • 数据链路层
    • 物理层
  • osi5层协议

    • 应用层:python代码 b’hello‘

    • 传输层:预备如何传输?使用的端口? tcp和udp协议

    • 网络层:ip地址b’01010010110‘、ipv4、ipv6、路由器(三层交换机)

    • 数据链路层:mac地址b’1101010010‘、arp协议、二层交换机、网卡

    • 物理层

      传到对面机器之后,倒着读出信息。套接字

  • tcp和udp协议

    • tcp协议:

      • 需要先建立连接,然后才能通信,就像打电话
      • 占用连接、可靠、消息不丢失(有回执)、实时性高、慢
      • 适合:语音聊天、视频聊天、线下高清视频缓存、发邮件
      • 建立连接的过程:三次握手
        • 形成全双工连接
        • 请求连接服务SYN
        • 返回:ACK+SYN
        • 发送:ACK
      • 断开连接的过程:四次挥手
    • udp协议:
      • 不需要先建立连接,就能通信,就像发短信
      • 不占用连接、不可靠(消息因为网络不稳定丢失)
      • 适合:在线播放视频
  • 包的导入补充

    • 看目录导入,如果在一个路径下就能导
    • 导入一个包(文件夹),相当于执行了包下__init__文件
    • 要想导入文件夹下的文件
      • 方式一:import glance.api.policy
      • 方式二:from glance.api import policy
    • from . import xxx表示从当前路径下导入xx,相对导入,但相对导入文件不能直接运行
    • 当需要写一个功能,这个功能不是直接运行的,而是被别人导入后使用的,比如json,这种独立形成文件夹,所有文件都需要使用相对导入

代码总行数2823+33=2856行

python28day的更多相关文章

随机推荐

  1. 【LeetCode】67. Add Binary 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 BigInteger类 模拟加法 日期 题目地址:h ...

  2. 【LeetCode】589. N-ary Tree Preorder Traversal 解题报告 (Python&C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 递归 迭代 日期 题目地址:https://leetc ...

  3. Spring事务的基本原理

    Spring事务的本质其实就是数据库对事务的支持,没有数据库的事务支持,spring是无法提供事务功能的.. 对于纯JDBC操作数据库,想要用到事务,可以按照以下步骤进行: 获取连接 Connecti ...

  4. uniapp与webview之间的相互传值

    1.uni-app 如何发送数据到 H5? 其实很接单.在 web-view 中只需要通过 URL 就可以向 H5 进行传参 例如在 uni-app 中: <template> <v ...

  5. capstoneCS5213|HDMI转VGA带DAV模拟音频输出转换器|CS5213方案

    capstone CS5213是一款HDMI到VGA转换器结合了HDMI输入接口和模拟RGB DAC输出且带支持片上音频数模转换器.CS5213芯片设计简单,整体芯片尺寸精悍,外围电路集成优化度较高, ...

  6. CS5211替代LT7211 DP转LVDS芯片方案 替代龙迅LT7211方案

    LT7211是一种用于虚拟现实/显示应用的高性能C/DP1.2至LVDS芯片方案.LT7211支持DP1.2输入,LT7211可以配置为1.2.4车道,还支持车道交换功能.自适应均衡使其适用于长电缆应 ...

  7. 使用 Eclipse 可视化插件 windowbuilder 进行Java GUI开发(插件安装的两种方法)

    对于Java GUI开发 其实最方便的方法是用插件制作,当然先了解完代码原理是最好的. eclispe安装windowbuilder有两种方式,一种是离线安装,一种是在线安装. 一.第一种在线安装: ...

  8. 使用docker快速部署一个consul集群

    作为一个开发者,有时候需要一个集群环境,之前的做法要么就是使用多个虚拟机,要么就是采用不同的端口来模拟,但是虚拟机比较占内存,而且启动慢,采用不同的端口来模拟,管理起来比较麻烦一些,程序隔离性差一些. ...

  9. 在 GitHub 复活 80 年代的游戏代码,它们出自第一本售出百万册的计算机书籍

    今儿我在 GitHub 看到了一个很眼熟的名字和头像,但是第一时间没想起来他是谁.算了先看看是个什么神仙开源项目,竟然能登上今天的 GitHub 趋势榜首. 该项目是把<BASIC Comput ...

  10. ShardingJDBC

    ShardingJDBC的核心流程主要分成六个步骤,分别是:SQL解析->SQL优化->SQL路由->SQL改写->SQL执行->结果归并,流程图如下: sharding ...