文章分类 - 第八篇: 面向对象
摘要:需求: 通过上下文管理器写一个mysql的连接,通过with管理 import pymysql class MySQL: def __init__(self, *args, **kwargs): self.conn = pymysql.connect(*args, **kwargs) self.cu
阅读全文
摘要:需求: 写一个类,有个name属性,如果name赋值为非字符串,就不让放. # 提示: __setattr__, __getattr__, __delattr__系列都是点拦截属性(注意: 反射的本质也是通过点) # 实现方式一: __setitem__和__setattr__综合运用 """ cl
阅读全文
摘要:一. 在元类中控制把自定义类的数据属性都变成大写(提示: 内置数据属性不修改) 二. 在元类中控制自定义的类无需`__init__方法 三. 在元类中控制自定义的类产生的对象相关的属性全部为隐藏属性 四. 基于元类实现单例模式 详见第七节:
阅读全文
摘要:一. 什么是内置方法? """ 什么是内置方法? 定义在类内部, 以__开头 并以__结尾的方法 特点: 会在某种情况下自动触发执行 为什么要用内置方法? 为了高度定制化我们的类 或者 对象. """ 二. __str__ """ 在打印对象时自动触发,然后将返回值(必须是字符串类型)当做本次打印的
阅读全文
摘要:一. 元类介绍 二. class关键字创造类People的步骤 1. exec的用法介绍: 2. 实例: 由exec来创建类的名称空间. 三. 自定义元类来控制类的产生 四. 使用介绍 五. 自定义元类控制类的调用(类的对象的产生) 六. 属性查找 七. 实现单例模式的六种方式(面试必要会3种) 0
阅读全文
摘要:知识储备: 动态语言与静态语言 一. 什么是反射? 二. 实现反射机制的步骤 三. 四个内置函数的使用: 通过字符串来操作属性值
阅读全文
摘要:一. 绑定方法与非绑定方法介绍 二. 绑定方法: 特殊之处在于将调用者本身当做第一个参数自动传入 三. 非绑定方法/静态方法
阅读全文
摘要:一. 多态与多态性 二. 由多态带来的特性 = 多态性 列举python中含有这种多态性的思想的实例 三. 鸭子类型 四. 通过在父类引入抽象类的概念来硬性限制子类必须有某些方法名
阅读全文
摘要:一. 试验一下菱形问题下的属性查找顺序 二. 在昨天基础之上优化
阅读全文
摘要:一. 继承介绍 1. 什么是继承? 2. 经典类与新式类 3. python的多继承 二. 为何要用继承 三. 派生方法与重用(实现继承) 1. 类与类之间存在冗余问题 2. 基于继承解决类与类之间的冗余问题(派生的3种场景) 案例一: 子类直接继承父类所有 案例二: 子类在自己父类原有的基础之上派
阅读全文
摘要:一. 引入 二. 隐藏属性 1. 注意1举例 2. 注意2 3. 注意3 三. 开放接口: 隐藏并不是目的, 定义属性就是为了使用. 1. 隐藏数据接口 2. 隐藏函数接口 四. 总结隐藏属性和开放接口 五. property 1. 案例一: BMI指数应该作为数据属性的访问方式被调用 2. 案例二
阅读全文
摘要:一. 对象的概念 1. 从"过程"过度到"对象"的概念介绍 2. 了解"对象"之前我们的数据和功能是分开的 3. 了解了"对象"以后我们把数据和功能进行整合 二. 类与对象 三. 面向对象编程 1. 类的定义与实例化 + 属性访问之类属性与对象属性 2. 属性访问之属性查找顺序与绑定方法 3. 小结
阅读全文

浙公网安备 33010602011771号