python中什么是元类
简单的讲, 元类创建了Python中所有的对象。 我们说 Python是一种动态语言,而动态语言和静态语言最大的不同,就是函数和类不是编译时定义的,而是运行时动态创建的 。 比方说我们要定义一个 HelloWorld 的class,就写一个 helloworld.py 模块: class HelloWorld(object): def helloworld(self): print('Hello World!') 当Python解释器载入 helloworld 模块时,就会依次执行该模块的所有语句,执行结果就是动态创建出一个 HelloWorld 的class对象,测试如下: >>> from helloworld import HelloWorld >>> h = HelloWorld() >>> h.helloworld() Hello, world! >>> print(type(HelloWorld)) <class 'type'> >>> print(type(h)) <class 'helloworld.HelloWorld'> type() 函数用来查看一个类型或变量的类型, HelloWorld 是一个class,它的类型就是 type ,而 h 是一个实例,它的类型就是class Helloworld 。 我们说 class的定义是运行时动态创建的