摘要:
1.阻塞IO模型 在linux中,默认情况下所有的socket都是blocking,一个典型的读操作流程大概是这样: 普通的socket通信就是阻塞IO,blocking IO的特点就是在IO执行的两个阶段(等待数据和拷贝数据两个阶段)都被block了。 2.非阻塞IO 如果kernel中的数据还没 阅读全文
摘要:
协程就是一个线程,只是说再一个线程上来回切换。 协程切换任务是靠代码,遇到IO 操作就切换,而线程和进程是靠操作系统自动切换 1.greenlet 2.gevent 只有协程遇到能识别的IO操作才切换(from gevent import monkey;monkey.patch_all()) gre 阅读全文
摘要:
py2编码:包含2种类型str和unicode, str相当于bytes, unicode 相当于str python 2默认编码为ASCII,所以出现中文时会出现报错,那是一位ASCII没有包括中文。 str是unicode这个字符串经过编码(utf8,gbk等)后的字节组成的序列,unicode 阅读全文
摘要:
正则表达式模式 下表列出了正则表达式模式语法中的特殊元素。如果你使用模式的同时提供了可选的标志参数,某些模式元素的含义会改变 前向肯定界定符。如果所含正则表达式,以 ... 表示,在当前位置成功匹配时成功,否则失败。 但一旦所含表达式已经尝试,匹配引擎根本没有提高;模式的剩余部分还要尝试界定符的右边 阅读全文
摘要:
1.普通%格式化字符串 用的最多的就是 %s %d %f,还有就是进制 %o %x %X %d %s %f %x %o 2. {}.format()格式字符串 阅读全文
摘要:
装饰器的作用就是在已经写好的函数上,不改动写好的函数的前提下,增加额外的功能 比如有100个不一样的函数,我想在这100个函数都额外增加一个相同的功能,利用装饰器可以减少重复代码 1.简单的装饰器 2.带参数的装饰器 3.多个装饰器 阅读全文
摘要:
Python的hashlib提供了常见的摘要算法,如SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 等 在python3中已经废弃了md5和sha模块 1.MD5加密 阅读全文
摘要:
1.staticmethod 静态方法 2.__import__ 动态模块导入 3.all() 判断给定的所有迭代对象为True时返回True 4.enumerate(seq,index)遍历对象加索引,模式是0开始,可以设定index值1,从1开始 5.int(x,base=10) base 默认 阅读全文
摘要:
_xxxx 变量或者方法,只能用于模块本身,其他子类可以访问,但不能被引用到其他模块去。 比如这个变量在 1.py中不能拿到2.py中使用。 __xxxx 代表私有变量或者私有方法 只允许这个类本身访问,实例化对象后也不能通过.__xxxxx去调用,子类也不能访问,不能通过继承方式后去这个私有变量。 阅读全文