Java后端
·今天 02:34day5,今天学习了:
①面向对象基础:
- 类与实例
- 访问限制(封装)私有变量的创建与操作
- 继承与多态
- 获取对象信息:type函数、isinstance、使用dir
- 实例属性与类属性的区分,二者千万不要重名
②面向对象高级:
- 使用__slots__限制能够添加的实例属性
- 使用@property把一个方法变为属性以供调用,还可以把setter方法也转化为属性
- 多重继承:在定义一个类时,可以使用MixIn为其增置其他父类,主父类不用添加该后缀,这样的方式可以综合不同父类的不同方法构筑多功能子类
- 定制类:使用__str__、__iter__、__getitem__、__getatter__等特殊函数名构建出一系列具有特殊功能的定制类
- 枚举类:通过引入enum模块的Enum类可以从1开始默认计数的常量枚举类,还可以调用enum里的@unique装饰器自定义派生枚举类
- 元类:type()函数不仅可以判断数据类型,还可以动态创建类,需要传入class名称、父类集合以及方法名称和函数绑定;我们还可以使用metaclass(元类)来动态创建类,顺序是先定义metaclass(以Metaclass结尾),再创建类,最后创建实例,动态创建类的最常应用场景在ORM,一类对应一表
③错误、调试和测试:
- 错误处理:try-except(-else)-finally
- 调试:print()、assert()、logging(可以输出到文件)、pdb(逐行执行)、pdb.set_trace()设置断点、IDE可视化断点调试,最常用的是logging和IDE
- 单元测试:TDD开发的基石,确保逐个模块的可用性,再函数改变后依然可以起到验证效果
- 文档测试:doctest—函数下方注释里的可执行测试,测试类就是在想要测试的类的文档注释里写入交互示例,在if __name__ = "__main__"下方引入doctest,命令行运行后可以进行测试,单独作为模块引入不会进行测试
2
1
分享
操作
评论
问答助学
相关内容
0个评论
全部评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
