Enums: making a single enum

Peter Otten __peter__ at web.de
Sat May 26 08:24:39 EDT 2018


Steven D'Aprano wrote:
> Am I silly for wanting to make a single enum?
>> I have a three-state flag, True, False or Maybe. Is is confusing or bad
> practice to make a single enum for the Maybe case?
>>> from enum import Enum
> class State(Enum):
> Maybe = 2
>> Maybe = State.Maybe
> del State

> Is there a better way of handling a three-state flag like this?

I think all three states should be created equal. Would a full-blown
>>> class State(enum.IntEnum):
... false = False
... true = True
... maybe = 2
... 
>>> State.maybe
<State.maybe: 2>
>>> bool(State.false)
False
>>> State.true == True
True
>>> list(State)
[<State.false: 0>, <State.true: 1>, <State.maybe: 2>]
>>> State(True)
<State.true: 1>
complicate your actual code?


More information about the Python-list mailing list

AltStyle によって変換されたページ (->オリジナル) /