01 2018 档案
网络编程---解决黏包
摘要:解决黏包的办法 解决方案一 问题的根源在于,接收端不知道发送端将要传送的字节流的长度,所以解决粘包的方法就是围绕,如何让发送端在发送数据前,把自己将要发送的字节流总大小让接收端知晓,然后接收端来一个死循环接收完所有数据。 import socket,subprocess ip_port=('127.
阅读全文
网络编程---黏包
摘要:基于UDP协议的socket udp的server 不需要进行监听也不需要建立连接,在启动服务之后只能被动的等待客户端发送消息过来。 客户端发送消息的同时还会 自带地址信息,消息回复的时候 不仅需要发送消息 还需把对方的地址填上。 udp的client 不需要connect 因为UDP协议是不需要连
阅读全文
网络编程
摘要:计算机网络的发展 早期 : 联机 以太网 : 局域网与交换机 软件开发的架构 1.C/S架构 C/S即:Client与Server ,中文意思:客户端与服务器端架构,这种架构也是从用户层面(也可以是物理层面)来划分的。 这里的客户端一般泛指客户端应用程序EXE,程序需要先安装后,才能运行在用户的电脑
阅读全文
常用模块补充
摘要:hashlib模块 Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等。 摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。 摘要算法就是通过摘要函数f()对任意长度的数据data计算出固定长度的摘要dig
阅读全文
面向对象进阶
摘要:isinstance和issubclass isinstance(obj,cls)检查是否obj是否是类 cls 的对象 issubclass(sub, super)检查sub类是否是 super 类的派生类 反射 反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本
阅读全文
面向对象 --- 封装
摘要:封装 封装在于明确区分内外,使得类实现者可以修改封装内的东西而不影响外部调用者的代码;而外部使用用者只知道一个接口(函数),只要 接口(函数)名、参数不变,使用者的代码永远无需改变。这就提供一个良好的合作基础——或者说,只要接口这个基础约定不变,则代 码改变不足为虑。 property是一种特殊的属
阅读全文
面向对象 三大特性--多态
摘要:多态 多态指的是一类事物有多种形态 python 天生支持多态 多态性 鸭子类型 不崇尚根据继承所得来的相似只是自己实现自己的代码就可以了如果两个类刚好相似,并不产生父类的子类的兄弟关系,而是鸭子类型list tuple这种相似,是自己写代码的约束的,而不是通过父类约束的优点:松耦合缺点:太随意了,
阅读全文
python 面向对象三大特性
摘要:面向对象三大特性:继承,多态与封装 什么是继承 继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类,父类又可称为基类或超类,新建的类称为 派生类或子类。python中类的继承分为:单继承和多继承 正常的代码中,单继承减少了代码的重复,继承表达的是一种,子类是父类的关系。 继承
阅读全文
python 面向对象
摘要:面向对象 简单的来说就是万物皆对象。 优点是:解决了程序的扩展性。对某一个对象单独修改,会立刻反映到整个体系中,如对游戏中一个人物参数的特征和技能修改都很容易。 缺点:可控性差,无法向面向过程的程序设计流水线式的可以很精准的预测问题的处理流程与结果,面向对象的程序一旦开始就由对象之间的交互解决问题,
阅读全文
python 模块与包
摘要:包 包:是一种通过使用‘.模块名’来组织python模块名称空间的方式。 1. 无论是import形式还是from...import形式,凡是在导入语句中(而不是在使用时)遇到带点的,都要第一时间提高警觉:这是关于包才有的导入语法 2. 包是目录级的(文件夹级),文件夹是用来组成py文件(包的本质就
阅读全文
python 模块
摘要:模块 其实import加载的模块分为四个通用类别: 1 使用python编写的代码(.py文件) 2 已被编译为共享库或DLL的C或C++扩展 3 包好一组模块的包 4 使用C编写并链接到python解释器的内置模块 首次导入模块my_module时会做三件事: 1.为源文件(my_module模块
阅读全文
python 常用模块
摘要:collections模块 在内置数据类型(dict、list、set、tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter、deque、defaultdict、namedtuple和OrderedDict等。 1.namedtuple: 生成可以使用名字来访问
阅读全文
python re模块
摘要:正则表达式 正则表达式:本身也和python没有什么关系,就是匹配字符串内容的一种规则。 官方定义:正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
阅读全文
python基础 递归函数
摘要:递归函数 递归的定义——在一个函数里再调用这个函数本身 现在我们已经大概知道刚刚讲的story函数做了什么,就是在一个函数里再调用这个函数本身,这种魔性的使用函数的方式就叫做递归。 刚刚我们就已经写了一个最简单的递归函数。. 归的最大深度——997 如果递归次数太多,就不太适合使用递归来解决问题 缺
阅读全文
python基础 匿名函数
摘要:filter用法 filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回 True或 False,filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list。 利用filter(),可以完成很多有用的功能,例如,删除 No
阅读全文
python基础 内置函数
摘要:内置函数 接下来,我们就一起来看看python里的内置函数。截止到python版本3.6.2,现在python一共为我们提供了68个内置函数。 内置函数 abs() divmod() input() open() staticmethod() all() enumerate() int() ord(
阅读全文
python基础 生成器
摘要:生成器函数进阶 send 使用send的注意事项: 第一次使用生成器的时候,使用next获取下一个值 最后一个yield不能接收外部的值 例题:计算移动平均值 yield from 推导式 推导式的先决条件: 列表推导式 生成器表达式 例一:30以内所有能被3整除的数 例二:30以内所有能被3整除的
阅读全文
python基础 迭代器
摘要:迭代器和生成器 迭代器协议和可迭代协议 可迭代协议:只要含有__iter__方法的都是可迭代的。 可以被迭代要满足的要求就叫做可迭代协议。可迭代协议的定义非常简单,就是内部实现了__iter__方法。 可以被迭代要满足的要求就叫做可迭代协议。可迭代协议的定义非常简单,就是内部实现了__iter__方
阅读全文
浙公网安备 33010602011771号