zoukankan      html  css  js  c++  java
  • day_38

    今日內容

    exec模快

    exec 是一个python的内置模块

    exec的作用

    可以把‘字符串形式’的python代码,添加到全局或者局部名称空间中

    exec的使用方法

    1. 参数一:字符串形式的python代码
    2. 参数二:全局名称空间字典
    3. 参数三:局部名称空间字典

    调用exec()

    元类

    什么是元类

    元类就是类的类,Chinese类的类是type,type是所有类的类,所以type就是一个元类

    元类的作用

    元类可以帮我们控制类的创建和调用

    怎么自定义创建元类

    1. 自定义一个元类,继承type,派生出自己的属性和方法

    2. 给需要使用的类,通过metaclass指定自定义好的元类

      如:class chinese(mataclass='自定义的元类')

    优酷架构

    ATM架构

    优点:数据可以跨平台

    缺点:不能存对象,也不能直接获取对象

    ​ 不能通过“对象.属性”的方式存取值

    ​ 存储速度比pickle慢

    选课系统架构

    优点:可以通过“对象.属性”的方式存取值

    ​ 能存对象,也能直接获取对象

    ​ 如:pickle

    缺点: 不能跨平台

    优酷架构

    • 数据层
      • 存储对象 ---->dict ----> json ----> Mysql
      • MySQL ----> Json ----> dict ----> 获取对象

    ORM

    对象关系映射----> 映射到数据库MYSQL中的数据表

    类名 ----> 表名

    对象 ----> 一条记录

    对象.属性 ----> 字段

    模拟Django的ORM ,为了将数据库的增删改查全部封装成一个个的方式,比如save,delete,update,select

    ORM三个问题

    1. 解决代码冗余问题

      解决方式:继承一个父类,父类中定义一个__init__

    2. 无法预测每一张表中的字段是什么,无法通过父类的__init__解决问题

      解决方法:通过继承字典内部的__init__,可以接受任意个数的关键字参数

    3. 继承字典的类实例化的对象,无法通过“对象.属性”的方式存取值

      解决方法:通过__setattr____getattr__来实现,让字典对象与普通对象一模一样,并且具备字典原有的特性

  • 相关阅读:
    8小时外你做什么?下班后的生活决定你的竞争力
    8个月,一位年轻总裁的坠落:值得所有职业经理人深思
    陈紫熹(帮别人名字作诗)
    年轻人创业尤其要注意的五个基本法则
    解密联想20年的45条法则
    小本创业】30条生意妙经及七大关键感悟
    新时代白领必备的两大“新”能力,你有吗?
    秘笈:送给创业者的19条忠告
    C#计算两个日期之间的差
    tnsnames.ora是什么东东?
  • 原文地址:https://www.cnblogs.com/maqiaobin/p/11794047.html
Copyright © 2011-2022 走看看