如何在 Python 中实现基于枚举当前值的 match 或 if 语句?

问题描述 投票:0回答:0

我在一些 Python 代码中定义了以下枚举:

from enum import Enum

class TestEnum(Enum):
    MY_VALUE=1

我想为这个枚举实现一个

__repr__
函数。

  • 其实不一定要
    __repr__
    这只是为了使用时方便
    str()
    转换
class TestEnum(Enum):

    def __repr__(self) -> str:
        match self:
          case TestEnum.MY_VALUE:
              return 'my_value'
          case _:
              return 'INVALID'

test_enum = TestEnum.MY_VALUE
print(str(test_enum))
  • 使用
    match self:
    的想法来自Rust。它可能不是 Python 中的有效语法。

此代码输出以下内容:

TestEnum.MY_VALUE

这不是我所希望的。

我想要实现的目标可以用Python实现吗?

python enums
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.