Python元类之由浅入深
前言 元类属于python面向对象编程的深层次的魔法,非常重要,它使我们可以更好的掌控类从创建到消亡的整个生命周期过程。很多框架的源码中都使用到了元类。例如 Django Framework 中的 ORM engine. 白类 === 普通的自定义类 什么是元类 面向对象编程最重要的一句话: 一切皆对象 过去我们都 是这样创建类的: class Panda(object): hobby= "study python" def __init__(self, name, age): # initialize self.name = name self.age = age def __str__(self): # format return "My name=%s, age=%s"%(self.name, self.age) 然后再实例化获得 对象 suosuo = Panda("suosuo", 120) print(suosuo) # "My name=suosuo, age=120" print(type(suosuo)) # <class '__main__.Panda'> 都说了一切皆对象,那请问 类:<class '__main__.Panda'> 也该是一个对象吧! 答:没错,创建这个 Panda 类 的 类 我们称之为 元类 , 也就是 这个 Panda