摘要:
day36 消息队列 队列:先进先出(使用频率很高) 堆栈:先进后出(特定场景下用) 消息队列可以实现进程间通信(本地、网络),并且消息队列还起到了保存数据的功能(队列中的数据如果不被取走,会一直在队列中) 消息队列将生产者与消费者解耦合 生产者只需要将数据放入队列中即可 无需考虑是否有人消费 消费 阅读全文
摘要:
day35 代码创建进程 创建进程的方式 1.鼠标双击桌面一个应用图标 2.代码创建 创建进程的本质 在内存中申请一块内存空间用于运行相应的程序代码 (圈地) 两种创建代码的方式 # 第一种创建进程的方式 函数 代码演示: from multiprocessing import Process im 阅读全文
摘要:
day34 UDP协议 简介: 用户数据报协议(User Datagram Protocol,UDP)是一种传输层协议。 在 TCP/IP 网络中,它与 TCP 协议一样用于处理数据包,是一种无连接的协议。 TCP 协议在进行数据传输时,需要建立连接,并且每次传输的数据都需要进行确认。 当不再进行传 阅读全文
摘要:
day33 socket套接字简介 socket 其实就是操作系统提供给程序员操作「网络协议栈」的接口 大白话就是 你能通过socket 的接口,来控制协议栈工作,从而实现网络通信,达到跨主机通信。 协议栈 协议栈的上半部分有两块,分别是负责收发数据的 TCP 和 UDP 协议,它们两会接受应用层的 阅读全文
摘要:
day32 软件开发架构 软件架构(software architecture)是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。 架构是一个系统的草图。软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通讯。在实现阶段,这些抽象组件被细化为实际 阅读全文
摘要:
day30 昨日作业讲解 需求:编写元类规定对象的所有数据值转大写 eg: obj.name = 'joanna' print(obj.name) # JOANNA class MyTypeClass(type): # 定义一个类接收type父类 def __call__(self, *args, 阅读全文
摘要:
day29 反射实际案例 反射需要掌握的四个方法 hasattr():判断对象是否含有字符串对应的数据或者功能 getattr():根据字符串获取对应的变量名或者函数名 setattr():根据字符串给对象设置键值对(名称空间中的名字) delattr():根据字符串删除对象对应的键值对(名称空间中 阅读全文
摘要:
day28 继承下的派生实际应用 面向对象三大特性之封装 property 面向对象三大特性之多态 面向对象之反射 继承下的派生实际应用 import datetime import json class MyJsonEncoder(json.JSONEncoder): def default( s 阅读全文
摘要:
day27 离考试又近了一天 动静态方法 动态方法 1.绑定给对象的方法 最常见 2.绑定给类的方法 常见 3.静态方法 少见 面向对象的三大特性之一: 继承 (拿来吧你!!!) 面向对象的三大特性分别是: 继承、封装、多态 往后的实际应用主要是继承 其他两个主要是一些概念 没有具体的表现形式 继承 阅读全文
摘要:
day26 面向对象概念的引导 通过编写一个人狗大战小游戏 双方互相攻击 首先先来描述双方的的特征 方式一 使用字典 dog1 = { 'name': '小黑', 'type': '田园犬', 'attack_val': 30, 'life_val': 200 } dog2 = { 'name': 阅读全文