Я использую портированную функциональность Enum из Python 3.4 с Python 2.7:Итерация Python Enum с целью определения
> python --version
Python 2.7.6
> pip install enum34
# Installs version 1.0...
В соответствии с документацией для Перечисления в Python 3 (https://docs.python.org/3/library/enum.html#creating-an-enum), «поддерживает Перечисление итерации, в порядке определения ". Однако итерации не происходит для того, чтобы меня:
>>> from enum import Enum
>>> class Shake(Enum):
... vanilla = 7
... chocolate = 4
... cookies = 9
... mint = 3
...
>>> for s in Shake:
... print(s)
...
Shake.mint
Shake.chocolate
Shake.vanilla
Shake.cookies
Am Я-то недоразумение, или итерации в порядке определения просто не поддерживается в портированном версиях Перечисления еще? Предполагая последнего, есть ли простой способ заставить его произойти по порядку?
Wow это так полезно, как они делают вещи назад несовместимые/б 2 и 3 в Python! Действительно здорово, что это непредсказуемо. Это держит нас на ногах! – neuronet
FYI: Ссылка больше не подходит к соответствующей информации. :( – Pod
Я обновил ссылку на документацию. – Troy