zoukankan      html  css  js  c++  java
  • 【JulyEdu-Python基础】第 6 课:高级面向对象

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

    __slots__和property

    方法和属性的动态绑定

    使用__slots__限定class实例能添加的属性

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

    直接暴露属性的局限性

    使用get/set方法

    利用@property简化get/set方法

    利用@property实现只读属性

    装饰器与property实现(学有余力的同学可以研究一下)

    特殊方法与类的定制

    类的默认行为与定制

    常见特殊方法

    枚举类

    枚举 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__支持切片操作

  • 相关阅读:
    Codeforces
    BZOJ
    BZOJ
    HDU
    Codeforces
    codeforces
    HDU-5441 Travel 离线-并查集
    codefoeces-1000E We Need More Bosses(tarjan+最长链)
    牛客网暑期ACM多校训练营(第五场)H-subseq 树状数组
    HDU-3533 Escape (BFS
  • 原文地址:https://www.cnblogs.com/custer/p/6526099.html
Copyright © 2011-2022 走看看