首页 >后端开发 >Python教程 >C# 开发人员如何在 Python 中表示枚举?

C# 开发人员如何在 Python 中表示枚举?

Barbara Streisand
Barbara Streisand原创
2024-12-24 07:15:17149浏览

How Can C# Developers Represent Enums in Python?

在 Python 中表示枚举

问题:

作为一名从事 Python 项目的 C# 开发人员,您如何表示相当于 Enum 中的Python?

答案:

枚举 (Enum) 已作为 PEP 435 的一部分在 Python 3.4 中引入。它们也已通过第三方向后移植到以前的版本像 enum34 和 aenum 这样的库。

使用枚举模块(Python 3.4):

from enum import Enum

Animal = Enum('Animal', 'ant bee cat dog')

这将创建一个动物枚举,成员包括蚂蚁、蜜蜂、猫和狗。

使用 enum34 库(Python 2.7) ):

from enum34 import Enum

Animal = Enum('Animal', 'ant bee cat dog')

使用 aenum 库(Python 2.7 、 3.3 ):

from aenum import Enum

class Animal(Enum):
    ant = 1
    bee = 2
    cat = 3
    dog = 4

Python Pre-3.4 的早期技术:

在在早期版本的 Python 中,您可以使用自定义 enum() 函数来创建自己的枚举:

def enum(**enums):
    return type('Enum', (), enums)

Numbers = enum(ONE=1, TWO=2, THREE='three')

其他技术:

  • 自动枚举:使用 enum(*sequential, **named) 等函数根据提供的内容自动生成成员名称。
  • 反向映射:向枚举​​添加reverse_mapping 属性,以轻松将值转换回名称。
  • MyPy Typing.Literal:使用 Typing.Literal 在 Python 3.8 中定义类型安全枚举.

以上是C# 开发人员如何在 Python 中表示枚举?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn