• 面向对象之元类介绍


    标签(空格分隔): 元类介绍


    元类介绍:

    在正式介绍元类之前,大家储备一下知识:exec;

    • exec命令使用
      这个命令有三个参数:
      1.字符串形式的命令,(把字符串提取出来)
      2.全局作用域;(字典形式,如果不指定,默认使用globals())
      3.局部作用域,(字典形式,如果不指定默认locals)
    g={'x':1,
    'y':2}
    l={}
    exec("""
    global x,m
    x=10
    m=100
    
    z=3
    """,g,l)
    print(g)
    #print(l)
    
    • exec就是一个函数的执行;这里大家记住,后边我们会用到;

    python中一切皆是对象,对象可以怎么用?

    1.都可以被引用;x=obj
    2.第二点,都可以当做函数的参数传入;
    3.都可以当做函数的返回值
    4.都可以当做容器类型的元素;(就是盛多个值,例如字典,列表)

    class Foo:#类也是对象
        pass
    obj= Foo()
    print(type(obj))
    print(type(Foo))
    

    执行结果:
    <class main,Foo>
    <class 'type'>

    • 元类的概念:
      向上述的例子可以发现:Foo也是一个对象,在python中一切都是对象,从这里可以看出:类的类,就是被称为元类:<class 'type'>

    image.png-34.3kB
    image.png-50.4kB

    如下:是通过元类定义的一个chinese类:
    image.png-57.7kB

    • 一句话:元类就是原始的类,就是类的类
  • 相关阅读:
    Ztree-
    富文本编辑器Ueditor
    通知 弹框
    ResultEntity
    echart
    定时器,定时发邮件JavaMail
    重定向传值
    图片验证码
    异步json发送put或者delete
    异步时间格式转换插件
  • 原文地址:https://www.cnblogs.com/surewing/p/9775601.html
Copyright © 2020-2023  润新知