zoukankan      html  css  js  c++  java
  • python 元类

    1. 元类(metaclass)是用来创建类的类,type是pyhon种内建的元类
    2. type(object):返回一个对象的类型,与object.__class__的值相同,type(name,bases,dict):创建一个新的type类型,name就是新class的name,值存到__name__属性中,bases是tuple类型,值会存到__bases__中,dict的值存到__dict__中
      type example
    3. 类默认是用type()创建的,通过定义类时指定metaclass参数或继承自某个类,而该类指定了metaclass参数,可以自定义类的创建过程
      metaclass example
    4. 确定一个类的metaclass的步骤:
      • 如果没有基类也没有显示指定metaclass,那么使用type()
      • 如果显示指定了metaclass,并且metaclass不是type()的实例,那么直接使用metaclass
      • 如果类的metaclass被显示指定为type()类型的实例,或者有继承的基类,那么使用最底层的派生类(the most derived metaclass),最底层的派生类是指定的metaclass中和所有基类的metaclass的一个子类型(subtype),如果没有metaclass满足条件,会抛出TypeError的异常
  • 相关阅读:
    Mybatis分页插件PageHelper使用
    JAVA面试笔记
    基于Fusioncharts的报表统计
    微信支付开发流程
    Java 使用 Jxl 实现 Excel 导入导出
    从navicat中导入sql文件过大:Got a packet bigger than 'max_allowed_packet' bytes
    一个故事告诉你比特币的原理及运作机制
    Linux和Windows下tomcat开机自启动设置
    Linux下安装MySQL
    ubuntu 13.10使用fcitx输入法
  • 原文地址:https://www.cnblogs.com/phenixyu/p/4012116.html
Copyright © 2011-2022 走看看