09 2017 档案
摘要:sockerserver模块 socketserver针对服务器,没客户端的事。 这样,服务端通过多线程实现了并发。 socketserver模块实际上隐藏了链接循环,通讯循环。
阅读全文
摘要:一粘包 TCP协议是面向对象的,面向流的,提高可靠性服务。使用了优化算法,Nagle算法。将多次间隔较少且数据量小的数据,合并成一个大的数据块,然后进行封包。这样接收端就很难分辨出来。TCP协议数据是可靠的,但是会粘包。 问题的关键是另一端并不知道你要传多少字节的数据,处理办法是必须先传一个报头,告
阅读全文
摘要:一 网络基础 互联网协议按照功能不同分为osi七层或者ip/tcp五层,ip/tcp四层。 数据链路层:有个以太网协议,ethernet,一组电信号称为一个数据报,也叫帧。ethernet规定接入internet的计算机都必须有网卡,发送端和接收端的地址就是网卡地址,也就是MAC地址。 网路层:规定
阅读全文
摘要:一 反射的基本概念 1 主要是指程序可以访问,检测和修改它本身状态或行为的一种能力。 最根本的就是,操作字符串,根据字符串找到相应的属性,映射到真正的功能上。 反射说简单点 --> 就是利用字符串的形式去对象(模块)中操作(寻找/检查/删除/设置)成员。 示例一 输出: getattr(x, 'y'
阅读全文
摘要:一 hashlib模块 输出: 输出: 二 logging模块 输出: 三 subprocess模块 subprocess:子流程 Popen类: 官方定义: Execute a child program in a new process.在新流程中执行子程序。 输出: stdout,stdin的
阅读全文
摘要:一 私有静态属性,私有方法,私有属性 输出: 私有是在定义阶段变量名前加上__。查看__dict__,会发现实际存储的是 _类名__属性名。 调用阶段__变量名,就没有你什么事了,该咋地咋地。 PS 私有方法的用处: 1 有一些方法的返回值只是用来作为中间结果 2 父类的方法不希望子类继承,子类没法
阅读全文
摘要:一 归一化设计 归一化使得高层的外部使用者可以不加区分的处理所有接口兼容的对象集合——就好象linux的泛文件概念一样,所有东西都可以当文件处理,不必关心它是内存、磁盘、网络还是屏幕(当然,对底层设计者,当然也可以区分出“字符设备”和“块设备”,然后做出针对性的设计:细致到什么程度,视需求而定)。
阅读全文
摘要:一 ATM alex想了一个思路,就是定义一个函数,这个函数可以实现所有的atm的功能:取款,转账,消费等等。 为了实现这个想法,alex构建了一个两级字典,厉害了。我发现,厉害的人都喜欢用字典。这里还是嵌套字典。一个优点是字典取值很简单,不用循环遍历。而且可以直接成员运算 in or not in
阅读全文
摘要:一 pickle 输出: pickle序列化之后是byte类型,所以写入文件或读取文件时用'wb'或'rb'格式。 二 json https://www.cnblogs.com/tjuyuan/p/6795860.html JSON(JavaScript Object Notation, JS 对象
阅读全文
摘要:面向对象的三大特性:封装,继承,多态 一 继承 抽象(由下到上)——>继承(由上到下)。 继承是什么是什么的关系,可以减少重复代码。 输出: People,Animal成为Student的父类或基类。查看父类的方法是__bases__.。没有父类是默认继承Object类。 但凡继承了Object的类
阅读全文
摘要:一 什么是面向对象,面向对象与类的关系。 面向对象的程序设计是用来解决扩展性。 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发“更快更好更强...” 简单的来说,如果程序的功能都是由类和对象来实现的
阅读全文
摘要:一 作用:捕捉异常,用try,except语句。 二 基本格式 三 主动触发异常 raise语句 四 断言 assert语句
阅读全文
摘要:一 collections模块 collections模块在内置的数据类型,比如:int、str、list、dict等基础之上额外提供了几种数据类型。 参考博客 http://www.pythoner.com/205.html 二 time模块 在Python中共有三种表达方式:1)timestam
阅读全文
摘要:一 正则表达式,又称规则表达式,英文名为Regular Expression,在代码中常简写为regex、regexp或RE,是计算机科学的一个概念。正则表通常被用来检索、替换那些符合某个模式(规则)的文本。实现过滤的功能。 1元字符 \w 匹配字母(包含汉字),数字,下划线 \d 匹配十进制数字
阅读全文
摘要:一 print( ) flush的应用——模拟进度条 二 hash( ) 1 参数必须是不可变类型。 输入: 三 map( ) 映射 自带遍历可迭代对象功能 四 filter( ) 过滤 自带遍历可迭代对象功能 五 enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为
阅读全文
摘要:迭代是人,递归是神。 —— L.Peter Deutsch 定义:函数在执行的过程中调用自己。 递归算法一般用于解决三类问题: 1 数据的另一是按照递归定义的。比如斐波那契函数 2 问题解法按照递归算法实现。比如回溯。 3 数据的数据类型是按照递归定义的。比如树的遍历,图的搜索。 递归的应用 三级菜
阅读全文
摘要:一 迭代器 可迭代对象:Iterable,例如,ist,str,tuple,dict,set,range(100)。 具有__iter__方法的叫做可迭代对象。 迭代器:Iterator,例如,文件句柄。 具有__next__,__iter__方法的叫做迭代器。 迭代器调用__iter__()方法还
阅读全文