[Python-Dev] Enum conversions in the stdlib (original) (raw)

Ethan Furman ethan at stoneleaf.us
Thu Mar 2 19:13:17 EST 2017


There are a few modules that have had their constants redefined as Enums, such as signal, which has revealed a minor nit:

pp(list(signal.Signals)) [<Signals.SIGUSR2: 12>, <Signals.SIGINT: 2>, <Signals.SIGTTIN: 21>, <Signals.SIGFPE: 8>, <Signals.SIGRTMAX: 64>, <Signals.SIGABRT: 6>, <Signals.SIGCONT: 18>, <Signals.SIGBUS: 7>, <Signals.SIGHUP: 1>, <Signals.SIGTSTP: 20>, <Signals.SIGSEGV: 11>, <Signals.SIGWINCH: 28>, <Signals.SIGIO: 29>, <Signals.SIGQUIT: 3>, <Signals.SIGTRAP: 5>, <Signals.SIGRTMIN: 34>, <Signals.SIGPIPE: 13>, <Signals.SIGVTALRM: 26>, <Signals.SIGURG: 23>, <Signals.SIGPROF: 27>, <Signals.SIGCHLD: 17>, <Signals.SIGXCPU: 24>, <Signals.SIGILL: 4>, <Signals.SIGSYS: 31>, <Signals.SIGSTOP: 19>, <Signals.SIGALRM: 14>, <Signals.SIGPWR: 30>, <Signals.SIGTERM: 15>, <Signals.SIGTTOU: 22>, <Signals.SIGXFSZ: 25>, <Signals.SIGUSR1: 10>, <Signals.SIGKILL: 9>]

The resulting enumeration is neither in alpha nor value order. While this has no bearing on programmatic usage I would like these Enums to be ordered, preferably by value.

Would anyone prefer lexicographical ordering, and if so, why?

-- Ethan



More information about the Python-Dev mailing list