from stack overflow:http://stackoverflow.com/questions/100003/what-is-a-metaclass-in-python Classes as objects Before understanding metaclasses, you need to master classes in Python. And Python has a very peculiar idea of what classes are, borrowed f…
1: type() 我们知道动态语言和静态语言最大的不同,就是函数和类的定义,不是编译时定义的,而是运行时动态创建的. 比方说我们要定义一个Person的class: class Person(object): def name(self, name='Kaven'): print('My name is: %s.' % name) p = Person() p.name() print(type(Person)) print(type(p)) 输出: My name is: Kaven. <c…
在python中一切皆对象, 所有类的鼻祖都是type, 也就是所有类都是通过type来创建. 传统创建类 class Foo(object): def __init__(self,name): self.name = name f = Foo("shuaigaogao") f 是通过 Foo 类实例化的对象,其实,不仅 f 是一个对象,Foo类本身也是一个对象,因为在Python中一切事物都是对象,按照一切事物都是对象的理论:obj对象是通过执行Foo类的构造方法创建,那么Foo类对…