zoukankan      html  css  js  c++  java
  • exec

    exec模块的补充

    是什么?

    ​ exec是python内置模块

    exec的作用:

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

    调用

    ​ exec()

    1.文本形式的python代码

    code='''

    global #这里如果想要全局

    x=10

    y=20#默认是local的

    def func():

    ​ pass

    '''

    2.全局的名称空间{}

    global_dict={}

    3.局部名称空间

    local_dict={}

    exec传值第一个是字符串形式的代码,第二个是全局字典,第三个是局部字典

    exec(code,global_dict,local_dict)

    1.元类

    在python中一切皆对象

    number=int(10)

    def__str__

    print(number)

    class Chinese:
        country='China'
        def __init__(self,name,age)
        	self.name=name
            self.age=age
            
        def __init__(self):
            print('speak Mandarin')
    

    类创建两种方式

    1.通过class来创建,内部会调用type()

    2.通过手动调用type()实例化得到的类

    class_name='Chinese'

    class_base=(object,)

    class_dict{}

    code='''

    country="china"

    def __init__(self,name,age):

    ​ self.name=name

    ​ self.age=age

    def speak(self):

    ​ print("speak mandarin")

    '''

    exec(code,{},class_dict)

    Chinese=type(class_name,class_base,class_dict)
    print(Chinses)

    什么是元类

    就是类的类

    元类可以限制类的创建

    怎么创建元类:

    1.自定义一个类,让这个类继承type

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

    ​ -class Chinese (metaclass='自定义的类-')

    2.youku架构

    -ATM

    用户试图从

    接口层

    数据层

    -选课系统

    用户视图层

    接口层

    数据层

    ​ models

    ​ -obj

    ​ -pickel

    -youku

    用户视图层

    接口层

    数据层

    ​ dict

    ​ json

    ​ 优点:数据可以跨平台

    ​ 缺点:不能通过对象.属性 的方法存取值

    ​ 存储速度比pickle慢

    models:

    obj

    pickle

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

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

  • 相关阅读:
    Mybatis-Plus select不列出全部字段
    git合并之 merge和rebase
    git
    springboot缓存开发
    关于Maven打包
    邮件发送模型及其Python应用实例
    Python 日志模块的定制
    python 解析 XML文件
    有限状态机FSM详解及其实现
    动态规划
  • 原文地址:https://www.cnblogs.com/jimGraymane/p/11794564.html
Copyright © 2011-2022 走看看