Fork me on GitHub

day38

元类

1. 什么是元类

2. 为什么用元类

3. 类的两种创建方法

4. 使用元类控制类的创建

5. 使用元类控制类的实例化

    1.元类
        1.什么是元类?
            元类就是类的类,Chinese类的类是type,type是所有类的类,type就是一个元类。

        2.元类的作用?
            元类可以帮我们控制类的创建。
            元类可以帮我们控制类的调用。

        3.怎么自定义创建元类:
            1) 自定义一个元类,继承type,派生出自己的属性与方法。
            2) 给需要使用的类,通过metaclass指定自定义好的元类。
                - class Chinese(metaclass='自定义的元类'):

    2.优酷架构
        - ATM
            - 用户视图层
            - 接口层
            - 数据层
                - dict
                - json
                优点:
                    数据可以跨平台。

                缺点:
                    不能存对象,也不能直接获取对象。 {。。。}
                    不能通过“对象.属性”的方式 存、取值。
                    存储速度比pickle慢。

        - 选课系统
            - 用户视图层
            - 接口层
            - 数据层
                - models:
                    - obj
                - pickle
                优点:
                    可以通过“对象.属性”的方式 存、取值。
                    能存对象,也能直接获取对象。
                    - pickle

                缺点:
                    不能跨平台。

        - 优酷
            - 用户视图层
            - 接口层
            - 数据层
                - 存储对象 ---> dict ---> Json ---> MySQL
                - MySQL ---> Json ---> dict ---> 获取对象

    3.ORM: 对象关系映射
    
    元类需要处理的问题:
    1.一张表必须要有一个表名。
    2.给数据表类,强制必须要有一个主键,主键必须是唯一的。
    3.将数据表中,所有的字段对象,都存放在一个独立的字典中
        存不是目的,目的是为了取值方便。
posted @ 2019-11-05 23:22  Yugaliii  阅读(102)  评论(0)    收藏  举报