随笔分类 - 0.12 |— 模块3: OO|网络编程
摘要:1.TCP VS UDP tcp基于链接通信 基于链接,则需要listen(backlog),指定连接池的大小 基于链接,必须先运行的服务端,然后客户端发起链接请求 对于mac系统:如果一端断开了链接,那另外一端的链接也跟着完蛋recv将不会阻塞,收到的是空(解决方法是:服务端在收消息后加上if判断
阅读全文
摘要:1.通过socket收发文件软件开发 2、文件传输普通版 (1)服务端 (2)客户端 3、文件传输:拼接路径版本 import socket import struct import subprocess import json import os server = socket.socket(so
阅读全文
摘要:1、粘包 粘包,就是指两次结果粘到一起了。它的发生主要是因为socket缓冲区导致的,来看一下 2、粘包问题只存在于TCP中,Not UDP TCP协议是面向流的协议 UDP是面向消息的协议 总结 3、send与recv的区别 4、粘包现象 两次send:数据量小,时间间隔很短,会发生粘包 (1)服
阅读全文
摘要:1、执行命令os.system('ls') os.system 返回1 or 0 ,不能当做数据发送 2、subprocess模块 但注意注意注意: 命令结果的编码是以当前所在的系统为准的,如果是windows,那么res.stdout.read()读出的就是GBK编码的,在接收端需要用GBK解码,
阅读全文
摘要:1、互联网协议 博客:http://www.cnblogs.com/linhaifeng/articles/6129246.html 2、socket层 Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。 在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/I
阅读全文
摘要:1.计算机基础知识 作为应用开发程序员,我们开发的软件都是应用软件,而应用软件必须运行于操作系统之上,操作系统则运行于硬件之上,应用软件是无法直接操作硬件的,应用软件对硬件的操作必须调用操作系统的接口,由操作系统操控硬件。 比如客户端软件想要基于网络发送一条消息给服务端软件,流程是: 1、客户端软件
阅读全文
摘要:1、什么是异常 异常就是程序运行时发生错误的信号(在程序出现错误时,则会产生一个异常,若程序没有处理它,则会抛出该异常,程序的运行也随之终止),在python中,错误触发的异常如下 2、错误 错误分成两种 (1)语法错误 (这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正)
阅读全文
摘要:1、面向对象的软件开发 博客地址:http://www.cnblogs.com/linhaifeng/articles/6182264.html#_label14 面向对象的软件工程包括下面几个部: 2.什么是领域模型 好了,你现在会了面向对象的各种语法了, 那请看下本章最后的作业需求,我相信你可能
阅读全文
摘要:1、exec的使用 2、一切皆对象:类也是对象 3、什么是元类? 产生类的类称之为元类,默认所以用class定义的类,他们的元类是type 4、定义类的两种方式 (1)方式一:使用class关键字 (2)方式二:就是手动模拟class创建类的过程):将创建类的步骤拆分开,手动去创建 5.自定义元类控
阅读全文
摘要:1.isinstance(obj,cls)和issubclass(sub,super) 2、 item系列:属性操作 __setitem__,__getitem__,__delitem__ (2)例子2 3、__str__,__repr__,__format__ 4、__del__ 5.其他 博客:
阅读全文
摘要:1 什么是反射 反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力(自省)。这一概念的提出很快引发了计算机科学领域关于应用反射性的研究。它首先被程序语言的设计领域所采用,并在Lisp和面向对象方面取得了成绩。 2. python面向对象中的反射
阅读全文
摘要:1.类中定义的函数分成两大类 (1):绑定方法(绑定给谁,谁来调用就自动将它本身当作第一个参数传入): 1. 绑定到类的方法:用classmethod装饰器装饰的方法。 2.绑定到对象的方法:没有被任何装饰器装饰的方法。 (2):非绑定方法:用staticmethod装饰器装饰的方法 不与类或对象绑
阅读全文
摘要:1、特性(property) 什么是特性property 例一:BMI指数(bmi是计算而来的,但很明显它听起来像是一个属性而非方法,如果我们将其做成一个属性,更便于理解) 成人的BMI数值: 过轻:低于18.5 正常:18.5-23.9 过重:24-27 肥胖:28-32 非常肥胖, 高于32 体
阅读全文
摘要:1、引子 从封装本身的意思去理解,封装就好像是拿来一个麻袋,把小猫,小狗,小王八,还有alex一起装进麻袋,然后把麻袋封上口子。照这种逻辑看,封装=‘隐藏’,这种理解是相当片面的 先看如何隐藏 在python中用双下划线开头的方式将属性隐藏起来(设置成私有的) 2、私有属性,方法的实质 3、特点 (
阅读全文
摘要:1、多态 多态指的是一类事物有多种形态,比如 动物有多种形态:人,狗,猪 2、多态性 (1) 什么是多态动态绑定(在继承的背景下使用时,有时也称为多态性) 多态性是指在不考虑实例类型的情况下使用实例,多态性分为静态多态性和动态多态性 学开车 开奥迪 开特斯拉 开拖拉机 (2)为什么要用多态性(多态性
阅读全文
摘要:1、组合与重用性 软件重用的重要方式除了继承之外还有另外一种方式,即:组合 组合指的是,在一个类中以另外一个类的对象作为数据属性,称为类的组合 2、继承与组合 组合与继承都是有效地利用已有类的资源的重要方式。但是二者的概念和使用场景皆不同, 1).继承的方式 通过继承建立了派生类与基类之间的关系,它
阅读全文
摘要:1、什么是继承? 继承指的是类与类之间的关系,是一种什么“是”什么的关系,继承的功能之一就是用来解决代码重用问题 继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类,父类又可以成为基类或超类,新建的类称为派生类或子类 # 父类\基类\超生类 # 子类\派生类(继承父类) #
阅读全文
摘要:1、编程范式 编程是 程序 员 用特定的语法+数据结构+算法 组成的代码来告诉计算机如何执行任务的过程 。 两种最重要的编程范式分别是 面向过程编程 面向对象编程 面向过程编程 面向对象编程 2、面向过程编程(Procedural Programming) 如果添加一个新功能:邮箱验证 可扩展性差
阅读全文