小编kol*_*ery的帖子

在python3中实现Enum类型的比较运算符

我是Python的初学者,所以如果这是显而易见的事情,请原谅我.

我有一个枚举类,我希望能够比较成员.下面的代码似乎做我想要的(但不是我想要的)

import enum

class AB(enum.Enum):

    a=1
    b=2
    c=3
    d=4
    e=5

    @classmethod
    def le(cls, a, b):
        lst = [cls.a, cls.b, cls.c, cls.d, cls.e]
        ia = lst.index(a)
        ib = lst.index(b)
        return(ia <= ib)


if AB.le(AB.a, AB.b):
    print('Do this')
else:
    print('Do that')
Run Code Online (Sandbox Code Playgroud)

现在我的问题是如何编码比较运算符,__le__以便我可以运行下面的代码?

mem1 = AB.a
mem2 = AB.c

if mem1 <= mem2 :
    print('Do this')
else:
    print('Do that')
Run Code Online (Sandbox Code Playgroud)

python enums python-3.x

4
推荐指数
1
解决办法
1084
查看次数

标签 统计

enums ×1

python ×1

python-3.x ×1