Заставить Python bool печатать "Вкл." Или "Выкл." вместо «Истина» или «Ложь»

Как лучше всего сделать переменную, которая работает точно как bool, но печатает On или ] Выкл. , а не Истина или Ложь ? В настоящее время программа печатает: Color: True , тогда как Color: On будет иметь больше смысла.

Для записи, я сначала попытался сделать OnOff ], который наследуется от bool :

class OnOff(bool):
    def __str__(self):
        if self: return 'On'
        else: return 'Off'

Из комментариев я теперь понимаю, что bool является синглтоном, поэтому это с треском провалилось:

Traceback (most recent call last):
    class OnOff(bool):
TypeError: Error when calling the metaclass bases
    type 'bool' is not an acceptable base type
6
задан Zaz 12 September 2010 в 22:37
поделиться