exec模块,元类与ORV的应用

        exec模块的补充
        1.是什么?
            exec是一个Python内置模块。
    
        2.exec的作用:
            '''
            x = 10
            def func1():
                pass
            '''
            可以把"字符串形式"的python代码,添加到全局空间或局部名称空间中。
    
        3.怎么用:
                # 参数1: 字符串形式的python代码
                # 参数2: 全局名称空间字典
                # 参数3: 局部名称空间字典
            调用exec()
    
    .元类
        1.什么是元类?
            元类就是类的类,Chinese类的类是type,type是所有类的类,type就是一个元类。
    
        2.元类的作用?
            元类可以帮我们控制类的创建。
            元类可以帮我们控制类的调用。
    
        3.怎么自定义创建元类:
            1) 自定义一个元类,继承type,派生出自己的属性与方法。
            2) 给需要使用的类,通过metaclass指定自定义好的元类。
                - class Chinese(metaclass='自定义的元类'):
    
    .优酷架构
        - ATM
            - 用户视图层
            - 接口层
            - 数据层
                - dict
                - json
                优点:
                    数据可以跨平台。
    
                缺点:
                    不能存对象,也不能直接获取对象。 {。。。}
                    不能通过“对象.属性”的方式 存、取值。
                    存储速度比pickle慢。
    
        - 选课系统
            - 用户视图层
            - 接口层
            - 数据层
                - models:
                    - obj
                - pickle
                优点:
                    可以通过“对象.属性”的方式 存、取值。
                    能存对象,也能直接获取对象。
                    - pickle
    
                缺点:
                    不能跨平台。
    
        - 优酷
            - 用户视图层
            - 接口层
            - 数据层
                - 存储对象 ---> dict ---> Json ---> MySQL
                - MySQL ---> Json ---> dict ---> 获取对象
    
    .ORM: 对象关系映射
    ORM: 对象关系映射 ---> 映射到数据库MySQL中的数据表
    类名 ---> 表名
对象 ---> 一条记录
对象.属性 ---> 字段

模拟Django的ORM,为了,将数据库的 增、删、改、查,全部封装成
一个个的方式,比如: save, delete, update, select。
    
原文地址:https://www.cnblogs.com/jinhongquan/p/11849823.html