zoukankan      html  css  js  c++  java
  • 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__)

  • 相关阅读:
    739. Daily Temperatures
    556. Next Greater Element III
    1078. Occurrences After Bigram
    1053. Previous Permutation With One Swap
    565. Array Nesting
    1052. Grumpy Bookstore Owner
    1051. Height Checker
    数据库入门及SQL基本语法
    ISCSI的概念
    配置一个IP SAN 存储服务器
  • 原文地址:https://www.cnblogs.com/666666pingzi/p/10940998.html
Copyright © 2011-2022 走看看