Python 类高级特性:元类、属性与描述符深度解析
1. 元类的应用
在 Python 里,元类是创建类的类。借助指定元类,能够对类的创建过程加以控制。Python 允许在类定义时和父类一同指定元类,其语法看似关键字参数,实则属于类声明语法的一部分。
class SimpleMetaclass(type):
pass
class Example(metaclass=SimpleMetaclass):
pass
print(Example)
在上述代码中,仅需在类定义里提供元类,Python 就会自动把该定义传递给元类进行处理。这和标准类定义的唯一差别在于,它使用 SimpleMetaclass 而非标准的 type 。
值得注意的是,元类的 __init__() 方法的首个参数通常称作 cls ,尽管你或许觉得应该是 self ,毕竟 __init__() 是对实例对象进行操作。不过,这里的实例是类对象本身,所以使用 self 同样准确。但鉴于类和对象存在差异,为清晰区分,我们依旧用 cls 来指代类对象。
在 Python 3.0 中,元类语法变更为当前所见的形式。在早期版本里,元类得定义为类体内部的特殊 __metaclass__ 属性。当 Python 在新类定义的命名
超级会员免费看
订阅专栏 解锁全文
778

被折叠的 条评论
为什么被折叠?



