【发布时间】:2010-09-10 18:07:51
【问题描述】:
创建一个与 bool 完全一样工作但打印 On 或 Off 而不是 True 或 False 的变量的最佳方法是什么?目前程序正在打印:Color: True,而Color: On 会更有意义。
为了记录,我最初尝试创建一个继承自 bool 的 OnOff 类:
class OnOff(bool):
def __str__(self):
if self: return 'On'
else: return 'Off'
从 cmets 中,我现在了解到 bool 是一个单例,这就是为什么它惨败的原因:
Traceback (most recent call last):
class OnOff(bool):
TypeError: Error when calling the metaclass bases
type 'bool' is not an acceptable base type
【问题讨论】:
-
我认为代码与问题无关:我只想创建一个行为与 bool 完全相同的变量,但打印
On和Off代替True或False. -
@Josh:这不是“为 me.com 做我的功课”。请发布您尝试过的代码,以便我们了解您的理解程度。
-
@S.Lott:这不是家庭作业,正如我所说,我没有任何与问题本身相关的代码。如果您必须查看一些代码,请查看here。
-
@Josh:(1) 尝试问题本身,以及 (2) 发布您尝试过的代码,这很有帮助。真的很多。我们对“请为我写这段代码”的问题持一种模糊的看法。
-
@S.Lott:如果我有任何代码,我会发布代码,只是我是 OOP 的新手,在这种情况下,我什至不知道如何开始。我确实尝试创建一个继承自 bool 的类,但它失败了——你是说我应该发布该代码吗?