04 2020 档案
摘要:课程回顾: 并发:在同一个时间段内多个任务同时进行 并行:在同一个事件点上多个任务同时进行 进程的三大基本状态: 就绪状态:所有进程需要的资源都获取到了,除了CPU 执行状态:获取到了所有资源包括CPU,进程处于运行状态 阻塞状态:进程停滞不再运行,放弃了CPU,进程此时处于内存里 什么叫进程? 正
阅读全文
摘要:课程回顾: 并行 : 两个进程在同一时间点发生 并发 : 两个进程在同一时间间隔内运行 同步 : 某一个任务的执行必须依赖于另一个任务的返回结果 异步 : 某一个任务的执行,不需要依赖于另一个任务的返回,只需要告诉另一个任务一声 阻塞 : 程序因为类似于IO等待、等待事件等导致无法继续执行。 非阻塞
阅读全文
摘要:进程课程回顾: 编程语言的发展: 机器语言 : 二进制 汇编语言 : 指令,命令形式的 高级语言 : 面向过程(C) 面对对象(python) 操作系统的目标: 为了用户更方便的使用 并行:指两件或多件事情,在同一时间点同时执行 并发:指两件或多件事情,在同一时间间隔内同时执行 计算机组成: CPU
阅读全文
摘要:计算机与操作系统 课程回顾: TCP编码流程: -- type=SOCK_STREAM 导入模块 导入模块 实例化对象 套接字 实例化对象 绑定ip+port bind(元组) 监听 listen() 等待连接 accept 连接服务器 connect/connect_ex(不抛异常,返回错误码)
阅读全文
摘要:复习一下:socket模块 :套接字,网络传输数据,处于应用层和传输层之间的一个抽象层 socket模块更多用法:(了解) 服务端套接字函数 s.bind() 绑定(主机,端口号)到套接字 s.listen() 开始TCP监听 s.accept() 被动接受TCP客户的连接,(阻塞式)等待连接的到来
阅读全文
摘要:首先回顾一下小文件的传输 import socket import os import json sk = socket.socket() sk.connect(("127.0.0.1", 8001)) menu = {"1": "upload", "2": "download"} for k, v
阅读全文
摘要:一、文件上传下载 客户端发送一个字典:{上传下载指令,文件名,文件内容}到服务端 ,请求上传和下载 import socket import json sk = socket.socket() sk.bind(('127.0.0.1',8080)) sk.listen() conn, addr =
阅读全文
摘要:一、UDP编码 1、 import socket sk = socket.socket(type=socket.SOCK_DGRAM) while 1: msg_s = input('>>>') sk.sendto(msg_s.encode('utf-8'),('127.0.0.1',8090))
阅读全文
摘要:collection模块 是一个数据类型的扩展模板 什么是队列? 1、单端的:先进先出(排队) import queue q=queue.Queue() q.put(1) q.put(2) q.put(3) q.put(4) print(q) # 是一个对象,看不见值 print(q.get())
阅读全文
摘要:异常处理 什么是异常 异常和错误的区别 error 错误 比较明显的错误 再编译代码阶段就能检测出来 异常 再执行代码的过程中引发的异常 异常发生了是什么效果 如何查看报错信息 最简单的异常异常处理 pass 多分支异常处理 l = ['d','z','t'] for i in enumerate(
阅读全文
摘要:1 网络基础相关的知识 (1) 架构 C / S架构 : client客户端 和 server服务器端 优势 : 能充分发挥PC机的性能 B / S架构 : browser浏览器 和 server服务器 隶属于C/S架构 B / S架构 统一了应用的接口. (2) 通信的事: 同一台电脑上两个py程
阅读全文
摘要:功能 1. 日志格式的规范 2. 操作的简化 3. 日志的分级管理 logging不能帮你做的事情 自动生成你要打印的内容需要程序员自己在开发的时候定义好 : 在哪些地方需要打印,要打印的内容是什么,内容的级别 logging模块的使用 : 普通配置型 简单的 可定制化差 对象配置型 复杂的 可定制
阅读全文
摘要:这个模块不太重要。。。 因为现在都用框架了 我们的配置文件有两个去处 1、py文件 需要import ,用模块的方式以变量的形式取值 2、其他文件 f = open('文件') 以字符串取值 还有一种介于1、2之间 configparserp : 有一种固定格式的配置文件 有一个对应的模块去帮你做这
阅读全文
摘要:能够把 一个 字符串 数据类型的变量 转换成一个 定长的 密文的 字符串,字符串里的每一个字符都是一个十六进制数字对于同一个字符串,不管这个字符串有多长,只要是相同的,无论在任何环境下, 多少次执行,在任何语言中使用相同的算法\相同的手段得到的结果永远是相同的只要不是相同的字符串,得到的结果一定不同
阅读全文
摘要:只提供了一个方法shelve.open('文件') shelve 如果你写定了一个文件改动的比较少读文件的操作比较多且你大部分的读取都需要基于某个key获得某个value import shelve f = shelve.open('shelve_demo') # 创建三个文件 f['key'] =
阅读全文
摘要:python专用 没什么限制 能处理很多数据类型! dump 需要的文件f句柄 需要wb形式打开,load需要rb模式 支持对象序列化!需要这个对象对应的类在内存中 转成bytes类型!也是序列类型 dic = {1:(12,3,4),('a','b'):4} import pickle pic_d
阅读全文
摘要:序列化的意思其实就是: 得到一个字符串的结果 过程就叫序列化 字典 / 列表 / 数字 /对象 -序列化->字符串 为什么要序列化? 1.要把内容写入文件 序列化 2.网络传输数据 序列化序列化方法:1.str()强转2、json 能处理的数据类型 : 有限,限制比较多 能使用的语言 : 所有语言
阅读全文
摘要:os模块是与操作系统交互的一个接口 重点: mkdir/rmdir/makedirs/removedirs/listdir remove/rename system popen path : join split basename dirname abspath isdir isfile getsi
阅读全文
摘要:sys模块是与python解释器交互的一个接口 1、sys.path(重要) 返回一个列表,列表中存储了搜索模块的路径集 2、sys.modules (重要) Python中所有加载到内存的模块都放在sys.modules 3、sys.platform 返回当前平台系统(准确率不高,一般不用)4、s
阅读全文
摘要:认识时间: 1、时间戳时间,格林威治时间,float数据类型 给机器用的 英国伦敦的时间 1970.1.1 0:0:0 北京时间 1970.1.1 8:0:0 为起始开始计算的秒数 2、结构化时间,时间对象 时间对象 能够通过.属性名来获取对象中的值‘ 3、格式化时间,字符串时间,str数据类型 给
阅读全文
摘要:随机的概念: 在某个范围内取到每一个值的概率是相同的1、随机小数 print(random.random()) # 0-1之内的随机小数 print(random.uniform(1,5)) # 任意范围之内的随机小数 2、随机整数 (重要) print(random.randint(1,2)) #
阅读全文
摘要:一、导入库 import re from urllib.request import urlopen # 内置的包 来获取网页的源代码 字符串 urlopen 来获取网页的源代码 字符串 res = urlopen('https://www.cnblogs.com/zhuangdd/p/126440
阅读全文
摘要:帮助学习的工具 http://tool.chinaz.com/regex/ 字符组 []在一个字符的位置上能出现的内容[1bc] 是一个范围[0-9][A-Z][a-z] 匹配三个字符[abc0-9] 匹配一个字符[0-9a-zA-Z] 匹配一个字符 [1-9][0-9][0-9][0-9][0-9
阅读全文
摘要:https://www.cnblogs.com/Eva-J/articles/7228075.html
阅读全文
摘要:import 模块 调用方法: 模块名.名字 from ... import ... 使用方法:导入这个模块中的某个名字之后,这个名字就可以直接使用了 名字是变量 直接用 名字是函数 函数名()就是调用 名字是类名 类名()就是实例化 导入了什么 就能使用什么 不导入的变量 不能使用 不导入并不意味
阅读全文
摘要:模块 用途:高阶面试题/读源码/简化操作模块的分类: 内置模块 安装python解释器的时候跟着装上的那些方法 第三方模块/扩展模块 没在安装python解释器的时候安装的那些功能 自定义模块 你写的功能如果是一个通用的功能,那你就把它当做一个模块 那么什么是模块? 有的功能开发者自己无法完成,这样
阅读全文
摘要:需求: 一个类 对象的属性 : 姓名 性别 年龄 部门 员工管理系统 内部转岗 python开发 - go开发 姓名 性别 年龄 新的部门 alex None 83 python alex None 85 luffy 1000个员工 如果几个员工对象的姓名和性别相同,这是一个人 请对这1000个员工
阅读全文
摘要:== 调用该方法 set的去重 的机制一部分 需求:类的假属性相等,那么就认为他们是一样的对象 class A: def __init__(self,name,age): self.name = name self.age = age def __eq__(self, other): if self
阅读全文
摘要:hash方法 底层数据结构基于hash值寻址的优化操作 hash是一个算法 能够把某一个要存在内存里的值通过一系列计算, 保证不同值的hash结果是不一样的 hash(obj) #obj内部必须实现了__hash__方法 假设: 得到一个哈希值 '127647862861596' 哈希==> 927
阅读全文
摘要:item系列 和对象使用 ’[ ]‘访问值有联系 getitem 》obj['wioe']setitem >obj['uyr'] = jashdelitem 》del obj['asfjh'] 下面代码其实就是用到了item的内置方法 obj = {'k':'v'} print(obj) # 字典的
阅读全文