Enum with only a single member

Steven D'Aprano steve+comp.lang.python at pearwood.info
Mon Jan 9 23:43:27 EST 2017

Is it silly to create an enumeration with only a single member? That is, a 
singleton enum?

from enum import Enum

class Unique(Enum):
    FOO = auto()

The reason I ask is that I have two functions that take an enum argument. The 
first takes one of three enums:

class MarxBros(Enum):
    GROUCHO = 1
    CHICO = 2
    HARPO = 3

and the second takes *either* one of those three, or a fourth distinct value. 
So in my two functions, I have something like this:

def spam(arg):
    if isinstance(arg, MarxBros): 

def ham(arg):
    if isinstance(arg, MarxBros) or arg is Unique.FOO:

Good, bad or indifferent?

"Ever since I learned about confirmation bias, I've been seeing 
it everywhere." - Jon Ronson

More information about the Python-list mailing list