Python面对对象编程基础
什么是面向对象编程
- 把对象作为基本单位,把对象抽象为类,包含成员和方法
- 数据封装、继承、多态(可覆盖父对象方法)
- Python中使用类实现。过称式编程(函数),OOP(类)
什么是类变量和实例变量
- 类变量由所有实例共享
- 实例变量有实例单独享有,不同实例直接没有影响
- 当我们需要一个类的不同实例之间共享变量的时候使用类变量
classmethod和staticmethod区别
- 都可以通过Class.method()的方式使用
- classmethod的第一个参数是cls,可以引用类变量
- staticmethod使用起来和普通函数一样,只不过放在类里去组织
什么是元类?应用场景是什么?
- 元类允许我们控制类的生成,比如修改类的属性等
- 使用type来定义元类
- 元类最场景的一个应用场景就是ORM框架