• Python的元类简单介绍


    * 类型 和类

    在Python中,一切都是对象。类也是对象。所以一个类必须有一个类型


    注意:
    1.type Python3中所有的类都是通过type来创建出来的
    2.object:Python3中所有类的顶级父类都是object


    # 使用type创建类
    """
    1.第一个参数是类的名字 str 类型
    2.第二个参数是继承的父类 tuple 类型
    3.第三个参数类定义的属性,跟方法名 dict 类型
    """

    # 创建方法,放到第三个参数里面就可以,调用
    def func(self):
    print("你好")

    Test = type("Test", (object,), {"name": "张三","func":func})


    自定义元类

    1.自定义元类必须继承于type
    2.type创建类:三个参数

    """
    1.第一个参数是类的名字 str 类型
    2.第二个参数是继承的父类 tuple 类型
    3.第三个参数类定义的属性,跟方法名 dict 类型
    """
    例子:
    # 自定义元类
    class MyMetaClass(type):

      def __new__(cls, name, bases, namespace, *args, **kwargs):
      return super().__new__(cls, name, bases, namespace)

    # 通过自定义元类来创建类
    class Test(metaclass=MyMetaClass):
      name = "张三"


    # 父类指定元类,子类可以继承父类所指定的元类
    class MyClass(Test):
      pass

    t = Test()
    print(type(Test))
    结果:<class '__main__.MyMetaClass'>
    print(Test.__dict__)

  • 相关阅读:
    常用并发类
    线程基本知识
    java多线程基础
    volatile原理小结
    condition学习小结
    阻塞队列、线程池、异步
    Synchronized原理
    wait 和notify
    【Java 8 新特性】Java Comparator.comparing | 提取对象属性,按照指定规则排序
    在Centos8上配置Minio服务使用TLS
  • 原文地址:https://www.cnblogs.com/666666pingzi/p/10940998.html
Copyright © 2020-2023  润新知