枚举上的迭代顺序是确定性的吗?

And*_*rew 1 python enums python-3.x

我正在使用aenum图书馆。

from aenum import Enum as Aenum

class Availability(Aenum):
    _init_ = "value string"
    PART_TIME = 1, "Part-Time"
    FULL_TIME = 2, "Full-Time"
    BOTH = 3, "Both"

    def __str__(self):
        return self.string

for value, string in Availability:
   print(value)
   print(string)
Run Code Online (Sandbox Code Playgroud)

从经验上看,它似乎按照定义的顺序进行,但我很好奇这是否得到保证。

Erv*_*gyi 5

来自Github 上的文档

枚举支持迭代。在Python 3.x中使用定义顺序;在Python 2.x中,定义顺序不可用,但_order_支持类属性;否则,如果可能,则使用值顺序,否则使用字母名称顺序。