Как лучше всего создать переменную, которая работает точно так же, как bool, но печатает On
или Off
, а не True
или False
? В настоящее время программа печатает: 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