如何调用num枚举类型的数据

举例

**
 * 日期类型
 */
public enum DateType {

    /**
     * 工作日
     */
    WORKDAY,

    /**
     * 休息日
     */
    HOLIDAY,
}

一般来说,调用类里边的属性我们直接是类名.属性
枚举类,就是再次基础上再.name
例子就是

DateType.WORKDAY.name

这样就完成了枚举类型的调用

### 创建和使用枚举类型 在 Python 中可以通过 `enum` 模块来创建枚举类型,该模块提供了一种方便的方式来定义一组命名的常量。有两种主要的方法用于创建枚举:一种是基于类语法的方式;另一种则是通过 Function API 的方式[^1]。 #### 使用 Class 语法创建枚举 下面是一个简单的例子展示如何利用类语法结构构建一个名为 `Color` 的枚举: ```python from enum import Enum class Color(Enum): RED = 1 GREEN = 2 BLUE = 3 ``` 在这个例子中,`RED`, `GREEN`, 和 `BLUE` 是三个不同的枚举成员,它们各自关联着整数作为其内部表示形式。 除了基本的数据存储外,在枚举里还可以自定义特定的行为或者属性处理逻辑。例如,可以在枚举类里面添加额外的方法或是重载已有的特殊方法(如 `__str__()`, `__repr__()`) 来改变默认行为[^2]: ```python from enum import Enum class Mood(Enum): FUNKY = (1, "hello") HAPPY = (3, "world") def describe(self): return f"{self.name}: {self.value}" def __str__(self): return f'my custom str! {self.value}' @property def test_value(self): num, text = self.value return f'{text}:{num}' ``` 这里展示了怎样给 `Mood` 枚举增加了一个描述性的字符串输出功能以及一个只读属性访问器 `test_value`. #### 利用 Function API 方式创建枚举 对于更简单的情况,可以直接调用 `Enum()` 函数并传入名称列表和其他参数来快速建立一个新的枚举类型: ```python from enum import Enum Animal = Enum('Animal', ['ANT', 'BEE', 'CAT']) print(Animal.ANT) # 输出: Animal.ANT ``` 这种方式适合那些不需要复杂初始化过程或附加特性的场景。 #### 处理不同类型的 得注意的是,虽然通常情况下枚举项会持有相同类型的,但在某些特殊需求下也允许设置不同类型的数据作为各个项目的——尽管这种做法并不被提倡因为可能会引起混淆[^4]. ```python from enum import Enum class MixedValues(Enum): INT_VALUE = 1 STR_VALUE = "string" for member in MixedValues: print(f"{member.name} -> {type(member.value)}") ``` 上述代码片段将会打印出两个枚举成员及其对应的类型信息。 #### 成员比较与操作 当涉及到枚举之间的相等性和身份验证时需要注意一点区别。即使两个变量指向同一个枚举实例,只有当两者确实代表同一枚举成员时才会被认为是真正意义上的 “等于”。而关于顺序排列,则取决于具体实现细节,并不是所有版本都支持直接对比大小关系[^5]. ```python from enum import auto, unique @unique class Number(Enum): ONE = auto() TWO = auto() n1 = Number.ONE n2 = Number.TWO print(n1 == n1) # True print(n1 is n1) # True try: print(Number.ONE < Number.TWO) except TypeError as e: print(e) # '<' not supported between instances of 'Number' and 'Number' ``` 这段演示说明了为什么尝试对枚举执行小于运算符会导致异常抛出。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值