返回介绍

20.5 描述符的文档字符串和覆盖删除操作

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

描述符类的文档字符串用于注解托管类中的各个描述符实例。图 20-6 中的截图是 LineItem 类(见示例 20-7)及 Quantity 和 NonBlank 描述符(见示例 20-6)的帮助界面。

提供的信息有点不足。对 LineItem 类来说,如果能说明 weight 必须以千克为单位就好了。这对特性来说是小菜一碟,因为各个特性只处理特定的托管属性。可是对描述符来说, weight 和 price 使用的都是 Quantity 描述符类。7

7定制各个描述符实例的帮助文本特别难。有一种方法是为各个描述符实例动态构建包装类。

讨论特性时还讲了一个细节,而这里讨论的描述符没有涉及,那就是对删除托管属性的处理。在描述符类中,实现常规的 __get__ 和(或)__set__ 方法之外,可以实现 __delete__ 方法,或者只实现 __delete__ 方法做到这一点。时间充足的读者可以编写一个没有实际作用的描述符类实现 __delete__ 方法,就当作练习。

图 20-6:在 Python 控制台中执行 help(LineItem.weight)help(LineItem) 命令时的截图

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

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

发布评论

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