随笔分类 - Python
摘要:比如recv(300) 设置接收300个字节 但是数据有350个字节 第一次接收300个字节之后 还有50个字节放在了输入缓冲区中 下次再执行send时 只是接收了上次存在缓冲区中的50个字节 两种粘包现象 send数据过大时, 大于recv设置的字节, 第二次只接收上一次缓冲区剩余的数据 连续se
阅读全文
摘要:简单的自定义异常处理 class CustomizeError(BaseException): def __init__(self, msg): self.msg = msg def __str__(self): return self.msg try: raise CustomizeError('
阅读全文
摘要:实例方法, 类方法, 静态方法, 动态方法伪装成属性 class Dog: # 实例方法 def eat(self): pass # 类方法, 主要用于操作类属性 增删改 @classmethod def sleep(cls): pass # 静态发发, 和普通函数相似 @staticmethod
阅读全文
摘要:父类定义统一化pay接口方法, 子类必须实现这个方法 from abc import ABCMeta, abstractmethod class Payment(metaclass=ABCMeta): @abstractmethod def pay(self): pass class Alipay(
阅读全文
摘要:re模块 \w 匹配字母(包含中文)或数字或下划线 \W 匹配非字母(包含中文)或数字或下划线 \s 匹配任意的空白符 \S 匹配任意非空白符 \d 匹配数字 \D p匹配非数字 \A 从字符串开头匹配 \z 匹配字符串的结束,如果是换行,只匹配到换行前的结果 \n 匹配一个换行符 \t 匹配一个制
阅读全文
摘要:msg = 'aaa: %s bbb: %s 1%%' % ('123', 12) 这里想要表示出1% 要用两个%%
阅读全文
摘要:Python小整数池 -5 - 256 字符串常用方法 upper 和 lower 大小写转换 s = 'name' s1 = s.upper() # 全部大写 s1 = s.lower() # 全部小写 startswith 和 endswith 是否已xx开头或结尾 s = 'abcdef' p
阅读全文
摘要:import struct num1 = 12345 num2 = 123 num3 = 1 # 把任意长度的整数转换成4个字节 2**32次方 l1 = struct.pack('i', num1) l2 = struct.pack('i', num2) l3 = struct.pack('i',
阅读全文
摘要:三次握手过程理解 第一次握手:建立连接时,客户端发送syn包(syn=x)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=x+1),同时自己也发送一
阅读全文
摘要:应表会传网数应 应用层 / 表现层 / 会话层 传输层 tcp协议 : 可靠 / 效率低 / 面向连接 / 全双工通信 三次握手 : 客户端向服务器发送syn请求 服务器想客户端回复ack并发送syn请求 客户端接收服务器请求之后回复ack建立连接 由客户端的connect + 服务端的 accep
阅读全文