Python是如何创建类的?
当python的解释器碰到类的定义的时候,它会像对待其他code一样先读取其内容,然后为这个class创建一个新的namespace并且执行其代码。类的定义通常包括变量,方法以及其他类。这些内容都在新的命名空间里面。从类的内容读到到类的对象的产生是通过内置type函数来实现,所以type函数也提供可动态创建类的可能。
用type函数动态创建类的时候,type这个构造函数需要三个参数,分别是类名,基类以及其属性。
type实际上是一个元类,所谓的元类就是可以创建其他类的类。如果一个类的定义中包括一个单独的metaclass项的话,这个指定的metaclass将被用来创建类,而不是内置的type 对象。metaclass的父类是type。元类是我们拥有了在运行时修改其他对象的机会和能力,从而使python语言变得无比的强大和灵活。
在一个类中,如果定义了__call__方法,那么这个类的对象也是可以被调用和执行的。想判断一个类的实例是可以被执行,可以用callable函数来检测。
相关文章
- 01-14python通用读取vcf文件的类(可以直接复制粘贴使用)
- 01-14Python面向对象02/类的空间问题、类与对象之间的关系、类与类之间的关系
- 01-14[Python]Python的class(类)中的object是什么意思
- 01-14Python元类实践--自己定义一个和collections中一样的namedtuple
- 01-14HashMap,LinkedHashMap和Hashtable类的深入剖析与理解
- 01-14python中的类
- 01-14python类的两种创建方式
- 01-14Python 类中__init__()方法中的形参与如何修改类中属性的值
- 01-14关于理解python类的小题
- 01-14python 根据对象和方法名,返回提供这个方法的定义的类