返回介绍

第 21 章 类元编程

发布于 2024-02-05 21:59:46 字数 1046 浏览 0 评论 0 收藏 0

(元类)是深奥的知识,99% 的用户都无需关注。如果你想知道是否需要使用元类,我告诉你,不需要(真正需要使用元类的人确信他们需要,无需解释原因)。1

——Tim Peters
Timsort 算法的发明者,活跃的 Python 贡献者

1摘自 comp.lang.python 邮件列表中对“Acrimony in c.l.p.”话题的回复。前言中引述的那句话也是出自这篇发布于 2002 年 12 月 23 日的消息。TimBot 在那天获得了灵感。

类元编程是指在运行时创建或定制类的技艺。在 Python 中,类是一等对象,因此任何时候都可以使用函数新建类,而无需使用 class 关键字。类装饰器也是函数,不过能够审查、修改,甚至把被装饰的类替换成其他类。最后,元类是类元编程最高级的工具:使用元类可以创建具有某种特质的全新类种,例如我们见过的抽象基类。

元类功能强大,但是难以掌握。类装饰器能使用更简单的方式解决很多问题。其实, Python 2.6 引入类装饰器之后,元类很难使用真实的代码说明,因此我不会像前面的章节那样再举引导示例。

本章还会谈及导入时和运行时的区别——这是有效使用 Python 元编程的重要基础。

这是一个令人兴奋的话题,很容易让人忘乎所以。因此,进入本章的正文之前,我必须告诫你:

除非开发框架,否则不要编写元类——然而,为了寻找乐趣,或者练习相关的概念,可以这么做。

首先,本章探讨如何在运行时创建类。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文