Python高阶 -- 元类
类和类型
type:元类,Python3中所有的类都是通过type来创建出来的
object:顶层的基类,Python3 中所有类的顶级父类都是object
利用元类直接创建类
1、使用type创建类,type创建类需要三个参数,type(name,bases,dict):
-- 第一个参数:类名 --> str
-- 第二个参数:继承的父类 ---> tuple类型,元组中只有一个元素要加逗号(obj, )
-- 第三个参数:方法和属性 ---> 字典类型,键值对的形式表示属性,或者对应的方法
自定义元类必须继承于type
一个类里使用参数metaclass,说明是指定调用了哪个元类
使用元类来创建一个orm模型
1、使用描述器类,定义数据库字段值输入的要求
2、自定义元类来创建模型类
3、创建类使用参数metaclass,调用自定义的元类,实现数据库表名与字段的关联
ps:字典遍历的时候,不允许对其添加元素或者修改元素,否则需要先转换成list类型
ORM模型的实现思路
1、类对应表,创建类的时候需要自动生成对应的数据表
2、对象对应一条数据,创建一个对象,需要在数据表中添加一条数据
3、属性对应字段,修改对象属性的同时需要修改数据库中对应的字段
实现步骤:
1、定义字段型类
2、定义模型类,由于类对应数据表,那么定义模型类的时候应当在数据库中创建对应的数据表
3、创建对象,往数据库中添加数据