返回顶部
首页 > 资讯 > 后端开发 > Python >枚举类
  • 799
分享到

枚举类

2023-01-31 00:01:09 799人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

当需要定义常量时,一个办法是用大写变量通过整数来定义 好处是简单,缺点是类型是int,并且仍然是变量 Enum可以把一组相关常量定义在一个class中,且class不可变,而且成员可以直接比较,这样这些相关常量就不会变化了     使用

当需要定义常量时,一个办法是用大写变量通过整数来定义
好处是简单,缺点是类型是int,并且仍然是变量
Enum可以把一组相关常量定义在一个class中,且class不可变,而且成员可以直接比较,这样这些相关常量就不会变化了

 

  使用枚举类

    from enum import Enum
    Month = Enum('Month', ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'))
    
    for name, member in Month.__members__.items():
        print(name, '=>', member, ',', member.value)   #value属性则是自动赋给成员的int常量,默认从1开始计数
        
    #输出:Jan => Month.Jan , 1
    #输出:Feb => Month.Feb , 2
    #输出:Mar => Month.Mar , 3
    #输出:Apr => Month.Apr , 4
    #输出:May => Month.May , 5
    #输出:Jun => Month.Jun , 6
    #输出:Jul => Month.Jul , 7
    #输出:Aug => Month.Aug , 8
    #输出:Sep => Month.Sep , 9
    #输出:Oct => Month.Oct , 10
    #输出:Nov => Month.Nov , 11
    #输出:Dec => Month.Dec , 12

 

  自定义枚举类

  如果需要更精确地控制枚举类型,可以从Enum派生出自定义类

    from enum import Enum, unique
    
    @unique    #@unique装饰器可以帮助我们检查保证没有重复值
    class Weekday(Enum):
        Sun = 00
        Mon = 01
        Tue = 02
        Wed = 03
        Thu = 04
        Fri = 05
        Sat = 06
        
    day1 = Weekday.Mon
    print(day1)    #输出:Weekday.Mon
    print(day1.value)    #输出:01,value属性是枚举常量的值
    
    print(Weekday.Tue)  #输出:Weekday.Tue
    print(Weekday['Tue'])  #输出:Weekday.Tue,可用成员名称引用枚举常量
    print(Weekday['Tue'].value)  #输出:02
    
    print(day1 == Weekday.Mon)  #输出:True
    print(day1 == Weekday.Tue)  #输出:False
    
    print(Weekday('03'))    #输出:Weekday.Wed,根据value值获取枚举常量
    print(Weekday('03').value)    #输出:03,根据value值获取枚举常量
    
    print(day1 == Weekday('01'))   #输出:True
    Weekday(7)    #报错
    
    for name, member in Weekday.__members__.items():
        print(name, '=>', member)

    #输出:Sun => Weekday.Sun
    #输出:Mon => Weekday.Mon
    #输出:Tue => Weekday.Tue
    #输出:Wed => Weekday.Wed
    #输出:Thu => Weekday.Thu
    #输出:Fri => Weekday.Fri
    #输出:Sat => Weekday.Sat

 

--结束END--

本文标题: 枚举类

本文链接: https://lsjlt.com/news/182612.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 枚举类
    当需要定义常量时,一个办法是用大写变量通过整数来定义 好处是简单,缺点是类型是int,并且仍然是变量 Enum可以把一组相关常量定义在一个class中,且class不可变,而且成员可以直接比较,这样这些相关常量就不会变化了     使用...
    99+
    2023-01-31
  • C#枚举类型与位域枚举Enum
    一、概述 定义一个值类型,其中包含固定值集合。枚举类型变量可以是此集合中的任意一个或多个值。 枚举使用enum关键字来声明,与类同级。 枚举本身可以有修饰符,但枚举的成员始终是公共的...
    99+
    2024-04-02
  • 【Java】枚举类型
    文章目录 一、枚举类型1.1 什么是枚举类型1.2 Java中枚举类型的特点 二、枚举类型的使用2.1 创建语法2.2 常用方法2.3 使用案例 三、枚举的优缺点 一、枚举类型 ...
    99+
    2023-09-02
    java enum 枚举
  • python枚举类型
    笔记: 一:枚举类型的定义二:枚举类和普通类的区别 1:值不可变 2:具有防止相同标签得功能,不同标签的值可以相同!三:枚举类型、枚举值、枚举名称 1:VIP.YELLOW.Value 获得标签的值 2:VIP....
    99+
    2023-01-30
    类型 python
  • TypeScript枚举类型
    目录1.概述2.数字枚举2.1反向映射3.字符串枚举4.const枚举5.总结1.概述 所谓的枚举类型就是为一组数值赋予名字。 enum类型在C++、Java语言中比较常见,Typ...
    99+
    2024-04-02
  • java枚举类型-Enum
    目录前言 应用 定义 基本Enum特性 Enum的静态导入 Enum中添加新方法 Switch语句中的Enum Enum的继承 EnumSet的使用 EnumMap的使用 常量相关方...
    99+
    2024-04-02
  • C#枚举类型举例分析
    本篇内容主要讲解“C#枚举类型举例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#枚举类型举例分析”吧!C#枚举类型实例演示  using System&nb...
    99+
    2023-06-17
  • C++类常量和类枚举
    目录1.类常量2.类枚举文章转自公众号:Coder梁(ID:Coder_LT) 1.类常量 有的时候, 我们希望能给类当中定义一些常量,可以给所有类的对象使用。 比如说我们在类当中...
    99+
    2024-04-02
  • Python中使用枚举类
    开发中我们经常定义常量, 其实有更好的方法:为这样的枚举类型定义一个class类型,然后,每个常量都是class的一个唯一实例。Python中提供了Enum类来实现这个功能: from enum import Enum Numbers...
    99+
    2023-01-31
    Python
  • 详解 TypeScript 枚举类型
    目录1. 数字枚举2. 字符串枚举3. 反向映射4. 异构枚举5. 常量枚举6. 枚举成员类型和联合枚举类型(1)枚举成员类型(2)联合枚举类型7. 枚举合并前言: TypeScri...
    99+
    2024-04-02
  • 【javaSE】 枚举与枚举的使用
    文章目录 🎄枚举的背景及定义⚾枚举特性总结: 🌲枚举的使用🚩switch语句🚩常用方法📌示例一Ὄ...
    99+
    2023-09-20
    java 开发语言 枚举 源码 反射
  • C#枚举类型怎么用
    这篇文章主要为大家展示了“C#枚举类型怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C#枚举类型怎么用”这篇文章吧。C#枚举类型使用的时候需要掌握的有哪些方面呢?首先我们来看看一个例子:p...
    99+
    2023-06-17
  • C#枚举类型的语法
    本篇内容主要讲解“C#枚举类型的语法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#枚举类型的语法”吧!C#枚举类型语法是什么呢?让我看看下面的讲解: usingSystem;&nb...
    99+
    2023-06-17
  • C#枚举类型的应用
    这篇文章主要讲解了“C#枚举类型的应用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#枚举类型的应用”吧!C#枚举类型应用是怎么样的呢?首先我们来看看几个问题:◆C#枚举类型与基础类型的转...
    99+
    2023-06-17
  • Python 枚举类源码解析
    元类编程,生成类的类,可以动态生成类。 用法: type(name, bases, dict) name -> 类名: str bases -> 基类: tuple dict -> 属性: dict EnumMeta元...
    99+
    2023-01-30
    源码 Python
  • MySQL数据类型enum 枚举类型
    例如: 性别 gender 男 女 保密 基本语法: enum(数据值 1,数据值 2...); 数据值列表在 255 个以内,使用 1 个字节来存储数据值列表超过 255,但是小于...
    99+
    2024-04-02
  • java中枚举类型定义和重写枚举的示例分析
    这篇文章将为大家详细讲解有关java中枚举类型定义和重写枚举的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。什么是枚举类型枚举类型(Enumerated Type) 很早就出现在编程语言中,它被用...
    99+
    2023-05-30
    java
  • java枚举
    目录 1.枚举的简介 2.枚举的形式和常用方法 3.枚举中的构造方法 4.练习实例 1.枚举的简介 枚举就是相当于一种来存放常量的特殊的类,是一种新的常量定义方式,提供了安全检查功能,简而言之就是把常量搞的有对象的特性了,类型也是和类...
    99+
    2023-09-02
    java 开发语言
  • python 【枚举】
    枚举,枚举可以看成“一组常量的集合”,就是向一个类中添加若干个变量。 from enum import Enum class Week(Enum): #Week类继承Enum类 Mon = 1 Tue = ...
    99+
    2023-01-30
    python
  • Python 枚举
    1. 枚举的定义 首先,定义枚举要导入enum模块。 枚举定义用class关键字,继承Enum类。 用于定义枚举的class和定义类的class是有区别。 示例代码: from enum import Enum class ...
    99+
    2023-01-31
    Python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作