当前位置: 首页 > news >正文

Python学习笔记--自定义类型的枚举

三、自定义类型的枚举

但有些时候我们需要控制枚举的类型,那么我们可以 Enum 派生出自定义类来满足这种需要。通过修改上面的例子:

#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
from enum import Enum, uniqueEnum('Month', ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'))# @unique 装饰器可以帮助我们检查保证没有重复值
@unique
class Month(Enum):Jan = 'January'Feb = 'February'Mar = 'March'Apr = 'April'May = 'May'Jun = 'June'Jul = 'July'Aug = 'August'Sep = 'September 'Oct = 'October'Nov = 'November'Dec = 'December'if __name__ == '__main__':print(Month.Jan, '----------',Month.Jan.name, '----------', Month.Jan.value)for name, member in Month.__members__.items():print(name, '----------', member, '----------', member.value)

输出的结果如下:

通过上面的例子,可以知道枚举模块定义了具有迭代 (interator) 和比较(comparison) 功能的枚举类型。 它可以用来为值创建明确定义的符号,而不是使用具体的整数或字符串。

相关文章:

  • 遍历List集合和Map进行修改和删除报java.util.ConcurrentModificationException错误详解
  • 《JavaScript设计模式》笔记 - - - 超全设计模式概览
  • Ubuntu 22.04 (WSL) 安装 libssl1.1
  • 现在个人想上架微信小游戏已经这么难了吗...
  • QGIS导出Geoserver样式加载
  • 【OpenHarmony内核】Harmony内核之互斥锁
  • Webpack 的作用和工作原理是什么?
  • LeetCode算法题解(贪心)|LeetCode122. 买卖股票的最佳时机 II、LeetCoed55. 跳跃游戏、LeetCode45. 跳跃游戏 II
  • 基于STM32设计的智能水母投喂器(华为云IOT)
  • Python编程——模块、包和__init__.py
  • 搭建私有云盘NextCloud
  • 【Linux C IO多路复用】多用户聊天系统
  • vscode 无法激活conda虚拟环境
  • 我的MQTT操作类(M2Mqtt.Net)
  • fastspar微生物相关性推断
  • 【comparator, comparable】小总结
  • Angular 2 DI - IoC DI - 1
  • ES6系统学习----从Apollo Client看解构赋值
  • Fundebug计费标准解释:事件数是如何定义的?
  • gitlab-ci配置详解(一)
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • Javascripit类型转换比较那点事儿,双等号(==)
  • 代理模式
  • 发布国内首个无服务器容器服务,运维效率从未如此高效
  • 基于组件的设计工作流与界面抽象
  • 那些年我们用过的显示性能指标
  • 区块链共识机制优缺点对比都是什么
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 事件委托的小应用
  • 异步
  • 最近的计划
  • MyCAT水平分库
  • 回归生活:清理微信公众号
  • ​2020 年大前端技术趋势解读
  • ​比特币大跌的 2 个原因
  • # 安徽锐锋科技IDMS系统简介
  • #etcd#安装时出错
  • #Z2294. 打印树的直径
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (bean配置类的注解开发)学习Spring的第十三天
  • (C#)获取字符编码的类
  • (HAL)STM32F103C6T8——软件模拟I2C驱动0.96寸OLED屏幕
  • (附源码)ssm基于jsp高校选课系统 毕业设计 291627
  • (七)Knockout 创建自定义绑定
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • (五)网络优化与超参数选择--九五小庞
  • (学习日记)2024.02.29:UCOSIII第二节
  • (原創) 物件導向與老子思想 (OO)
  • (转)利用ant在Mac 下自动化打包签名Android程序
  • (转)利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载 【反射】...
  • .NET CLR Hosting 简介
  • .NET 中使用 TaskCompletionSource 作为线程同步互斥或异步操作的事件
  • @Query中countQuery的介绍
  • [16/N]论得趣