码迷,mamicode.com
首页 > 编程语言 > 详细

Python中元类

时间:2015-11-29 21:19:09      阅读:244      评论:0      收藏:0      [点我收藏+]

标签:

一. 前提:

  python中一切都是对象,要么是类的对象,要么是元类的对象,type元类是自己的对象。继承层次表示为type(元类)-->类(内置和用户自定义的) --> 类的实例。

二.  目的:

  创建类时自动改变类,换句话说就是创建类这种东西的东西。

三.  __metaclass__

  可以通过指定__metaclass__来使用用户自定义的元类创建类。

  class语句解析顺序

      class Myclass(object): pass

      Myclass里面的__metaclass__ --> 父类(object)中的__metaclass__ -->模块里的--> 默认的type

 

四. 使用方法:

  1.__metaclass__ = callablefunc

1 def  callablefunc(classname, bases, dct):
2         ...
3         数据处理
4         ...
5         return  type(classname, bases, newdct)

 

  2 __metaclass__ = 自定义元类

1 class MyMeta(type):
2         def __new__(cls, classname, bases, dct):
3                 ...
4                 对dct进行数据处理,产生newdct
5                 ...
6                 return super(MyMeta,cls).__new__(cls,classname,bases,newdct)

 

  

 

   

  

Python中元类

标签:

原文地址:http://www.cnblogs.com/chzb/p/5005329.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!