【发布时间】:2019-08-06 18:38:12
【问题描述】:
在我的项目中,我有很多相同类型变量的实例,但用途不同。我希望能够使用 python 帮助系统向用户提供有关每个对象的功能的信息。即时自定义文档或任何其他帮助系统的最佳方式是什么?我希望能够做这样的事情:
a = myClass()
b = myClass()
a.__doc__ = "this is instance a and does something."
b.__doc__ = "this is instance b. It does something else."
...
>>> help(a)
"this is instance a and does something."
>>> help(b)
"this is instance b. It does something else."
但是,更改对象实例上的__doc__ 似乎没有任何作用。
是否可以在 python 中执行此操作,或者我需要编写自己的帮助函数?谢谢!
【问题讨论】:
-
这听起来应该是两个不同的类,或者是同一个类的子类。如果我们举一个现有的例子:
a=str(); b=str()。您是否希望a和b做不同的事情,或者在给定相同输入时采取不同的行动? -
实例通常应该只因它们的状态而不同。所以 a 和 b 应该做同样的事情,只对其他目标。如果两者明显不同,为什么不把它们分成不同的类呢?
-
除非
myClass是一个生成类(例如参数化类)的函数,否则上述 cmets 是一种可行的方法。将它们拆分为单独的类或让它们的行为相同。 -
@G.Anderson 抱歉,我不清楚。这些类做的事情完全相同,但它们的用法可能不同。例如,它们可能都是控制两个不同参数的整数。