Is enum iteration order guaranteed?

Steven D'Aprano steve+comp.lang.python at pearwood.info
Tue Jan 10 00:18:09 EST 2017


The docs say that enums can be iterated over, but it isn't clear to me whether 
they are iterated over in definition order or value order.
If I have:
class MarxBros(Enum):
 GROUCHO = 999
 CHICO = 5
 HARPO = 11
 ZEPPO = auto()
 GUMMO = -1
GROUCHO, CHICO, HARPO, ZEPPO, GUMMO = list(MarxBros)
is that guaranteed to do the right thing?
i.e. GROUCHO is MarxBros.GROUCHO, and similarly for the other members.
On that related note, how would people feel about a method that injects enums 
into the given namespace?
MarxBros._inject_(globals())
although maybe 
from MarxBros import *
would be more familiar syntax :-)
-- 
Steven
"Ever since I learned about confirmation bias, I've been seeing 
it everywhere." - Jon Ronson


More information about the Python-list mailing list

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