【JulyEdu-Python基础】第 6 课:高级面向对象

使用@property添加属性和自定义属性框架

 

__slots__和property

方法和属性的动态绑定函数

使用__slots__限定class实例能添加的属性单元测试

__slots__仅对当前类实例起做用,对继承的子类是不起做用的。测试

 

直接暴露属性的局限性对象

使用get/set方法继承

利用@property简化get/set方法get

利用@property实现只读属性it

装饰器与property实现(学有余力的同窗能够研究一下)io

 

特殊方法与类的定制

类的默认行为与定制编译

常见特殊方法

 

枚举类

枚举 vs 变量

@unique帮助去重

 

元类

运行时动态建立 vs 编译时定义

使用type建立新类型

metaclass(元类)

  metaclass -> class -> instance

  继承和动态绑定能够解决问题吗?

  __new__函数

ORM框架实例分析

 

异常与错误处理

为何使用异常?

异常的抛出与捕捉

traceback使用

logging使用与配置(本身baidu)

 

单元测试

为何须要单元测试

unittest使用

mock介绍与使用

 

做业

利用@property给一个Screen对象加上width和height属性,以及一个只读属性resolution。

本身实现一遍ORM例子代码

实现一个类,支持用如下方式输出小于1000的全部素数

  for i in Prime1000(): print(i)

本身去查资料,经过实现__getitem__支持切片操做

相关文章
相关标签/搜索