当前位置 : 主页 > 手机开发 > 其它 >

面向对象和网络编程小结

来源:互联网 收集:自由互联 发布时间:2021-06-19
一、面向对象相关 1.面向对象基础 -对象和类 -类实例化对象 -类属性、类方法、对象属性、对象方法 2.面向对象三大特性 -继承 -子类拥有父类的属性和方法,并增加了新属性和方法(派

一、面向对象相关
1.面向对象基础
-对象和类
-类实例化对象
-类属性、类方法、对象属性、对象方法
2.面向对象三大特性
-继承
-子类拥有父类的属性和方法,并增加了新属性和方法(派生)
-python中可以多继承,python3默认继承object(新式类),python2需要指定。
未继承object的称为经典类
-继承中的菱形问题
-python3:广度优先,根据mro列表顺序查找
-python2:深度优先,无mro列表
-装饰器
-property
-classmethod
-staticmethod
-封装
-可隐藏内部属性,增加安全性
-私有属性:python中没有实际上的私有,只是内部将属性或方法名进行了包装,使外部不能访问
-多态和多态性
-多态:一类事物的多种形态
-多态性:同一方法被调用产生不同的结果
-子类必须实现父类方法的两种方式:
-使用abc模块
-异常处理,使用raise
-鸭子类型:只要一个对象实现了某个类的所有方法,那就可以说此对象属于该类
3.面向对象进阶
-元类
-元类:python中一切皆对象,类也是对象,产生类对象的类称之为元类(type)
-使用type创建类:type(类名,父类,类属性&类方法)
-自定义元类:继承type类
-元类中使用的魔法方法:
-new:生成一个空对象,可对类属性及生成的空对象进行控制
-init:对生成的空对象进行初始化
-call:实例化对象+()时调用,控制对象的生成
-反射
-使用与类或对象中属性名或方法名对应的字符串来使用属性或方法
-hasattr:判断是否存在
-getattr:获取属性或方法
-setattr:设置属性或方法
-delattr:删除属性或方法
-常用的两个方法
-isinstance&issubclass
-魔法方法
-attr系列:点拦截器,遇到点时调用
-getattr
-setattr
-delattr
-item系列:[]拦截器,遇到[]时调用
-getitem
-setitem
-delitem -单例模式 -单例模式:返回的对象一直是同一个。(对象和地址相同) -四种实现方式: -在类中实现一个类方法,调用该方法返回一个对象 -使用装饰器 -使用元类,在__init__中生成一个对象 -使用导包的模式 二、网络部分 1.网络基础 -OSI七层架构 -物理层 -数据链路层:Mac地址 -网络层:IP -传输层:TCP/UDP -应用层 -TCP/UDP -TCP:基于流传输,会有粘包现象,需要建立连接(三次握手四次挥手),传输过程可靠,不会丢包 -UDP:基于数据报传输,不会粘包,不需要建立连接,传输不可靠,会丢包 -粘包问题: -设置头文件,头文件包含传输数据的大小,使接收端能精准接收 -使用struct:pack(打包):将头文件的长度打包为4byte,unpack(解包),根据字节解出头文件长度 2.socket套接字 -基于socket套接字实现的TCP/UDP服务端和客户端 -基于socketserver实现的可并发的TCP/UDP服务端

网友评论