【发布时间】:2017-10-20 09:50:01
【问题描述】:
我只是第一次使用元类。 目的是控制类或实例的 help() 输出。 在元类的 __dir__() 函数中指定属性允许我控制帮助内容。 但是,我观察到对于 intellisense/code_completion,在 Jupyter 中,重要的是类本身的 __dir__() 函数。
了解事实就足够了。 不过,我想知道原因。
感谢您的澄清。
【问题讨论】:
-
帮助内容? dir 是
dir()的实现,应该打印对象的属性dict -
是的,但是来自 Jupyter 的 help() 似乎使用 __dir__() 来决定帮助内容。我不知道这是否特定于 Jupyter,或者这种行为是否有更普遍的原因。然而,为什么以及何时使用类或元类中的 __dir__()?