Python标准库io和select

三种I/O类型 Binary: expects and produces bytes objects, 不会编解码,不会换行 Text: expects and produces str objects, 自动编解码和换行 Raw(unbuffered): uilding-block for binary and text streams 底层类 抽象基类IOBase: 无read

Asyncio主要类和方法一览

events Handle 基本属性: loop, context, call_back, args run: 执行call_back TimeHandle: 带有when到期时间的handle,也用于来比较大小 AbstractServer: 抽象server, 定义start_se

Python标准库heapq

底层设计: 完全二叉树(除了最后一层,其他层都是满的,最后一层的节点都靠左排列) 每个节点的值都小于等于左右子节点的值 使用list存储 入堆hea

Python标准库之并发相关库

threading Lock: 可被其他线程释放 .RLock: 与Lock的区别在于可被锁拥有者多次获取,只能被被锁拥有者释放,释放次数等于获取次数才算完全释放 Condition: condition实

Python标准库functools

functools主要有3个函数:partial, wraps, lru_cache partial: 利用一个类装饰器把现函数和参数保存起来, 后续调用的时候再补充和更新参数 1 2 3 4 5 6 7

MySQL协议初探及pymysql源码节选

总体交互过程 登录流程 TCP连接建立 1 2 3 4 5 # Connection.connection sock = socket.create_connection((host, port),connection_timeout) sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) sock.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1) _rfile = _makefile(sock, 'rb') Server向Client发送Handshake packet:包

Setuptools_doc_notes

版本规则 正式版本由一串被.符号分隔开的数据组成 2.1,代表release 2 的第一个子版本 2.1 == 2.1.0 == 2.01 预发布版本,通常在版本号后加字母tag, 如

Java_basic_3

异常 异常类继承自Throwable, 分为Eroor和Exception两类 Error是无需捕获的严重异常 Exception分为Runtime