首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python枚举类型

继承Enum枚举特点和优势: 对于其他实现枚举方式: 一是直接定义: BLACK = 1 RED = 2 二是使用字典:...: 上述实现方式,对应关系均是可变,可以发生赋值 上述均没有防止重复功能,不同类型对应值可能相同 枚举要求: 类型一般不能随意更改 类型一般不能出现重复 对于枚举类型...,因为这表示两个标签对应同一类别,这是允许,类似别名概念 此时print(EMP1.RED)会打印出EMP1.BLACK 对于这种类型相同枚举类型,在遍历时只会遍历EMP1.BLACK...in EMP1: print(x) 输出: EMP1.BLACK EMP1.RED 上述将EMP1类中全部枚举类型都打印出来 枚举类型比较: 限定:同一枚举类中枚举类型...方式: 两个枚举之间等值比较, 两个枚举之间身份比较, 不支持大小比较!!!

1.6K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Python 枚举

    枚举定义 首先,定义枚举要导入enum模块。 枚举定义用class关键字,继承Enum类。 用于定义枚举class和定义类class是有区别。...每个成员数据类型就是它所属枚举。...迭代器 3.1 枚举支持迭代器,可以遍历枚举成员 for color in Color: print(color) 输出结果是,枚举所有成员。...; 继承父类集合,注意Python支持多重继承,如果只有一个父类,别忘了tuple单元素写法; class方法名称与函数绑定,这里我们把函数fn绑定到方法名hello上。...通过type()函数创建类和直接写class是完全一样,因为Python解释器遇到class定义时,仅仅是扫描一下class定义语法,然后调用type()函数创建出class。

    60210

    Python枚举类型

    你好,我是 征哥,今天分享一下 Python枚举类型,为什么需要枚举类型,及如何使用。 什么是枚举类型 枚举(Enum)是一种数据类型,是绑定到唯一值符号表示。...您可以使用它来创建用于变量和属性常量集。它们类似于全局变量,但是,它们提供了更有用功能,例如分组和类型安全。Python 在 3.4 版本中添加了标准库 enum。...为什么要使用枚举 使用枚举有以下好处: 代码更容易阅读,更容易维护。 减少由转换或错误输入引起 bug。 使将来修改代码变得更容易。...如何使用枚举 以我们最熟悉性别为例,先创建一个枚举类型: >>> from enum import Enum >>> class Gender(Enum): ......,然后再看看使用枚举版本,这样就知道枚举好处了。

    94310

    Python枚举

    本篇主要介绍Python枚举用法 当我们需要定义常量时,一个办法就是用大写变量通过整数来定义,例如月份: JAN = 1 FEB = 2 MAR = 3 ··· NOV = 11 DEC = 12...更好办法是为这样枚举类型定义一个class类型,然后,每个常量都是class一个唯一实例。...Python提供了Enum来来实现这个功能: from enum import Enum Month = Enum('Month', ('Jan', 'Feb', 'Mar', 'Apr', 'May...', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec')) 这样我们就获得了Month类型枚举值,可以直接使用Month.Jan来引用一个常量,或者枚举所有成员...如果需要更精确地控制枚举类型,可以从Enum派生出自定义类: @unique class Weekday(Enum): Sun = 0 Mon = 1 Tue = 2 Wed

    64620

    c++枚举类型enum输出_python枚举

    目录: 一.Enum枚举含义: 二.Enum枚举声明(举例说明): 三.Enum枚举特点(举例介绍): 四.Enum枚举作用: 五.Enum枚举注意事项(举例说明): 一.Enum枚举含义:...Enum枚举:枚举是一组命名整型常量,枚举类型是使用 enum 关键字声明。...二.Enum枚举声明(举例说明): 枚举声明方式如下: enum //枚举名称 { enumeration list//写内容也就是枚举包含内容,用逗号隔开 }...枚举列表中每个符号代表一个整数值,一个比它前面的符号大整数值。...运行结果: 四.Enum枚举作用: 枚举可以使代码更易于维护,有助于确保给变量指定合法、期望值; 枚举使代码更清晰,允许用描述性名称表示整数值,而不是用含义模糊数来表示; 枚举使代码更易于键入

    1.5K40

    python枚举类型

    笔记: 一:枚举类型定义 二:枚举类和普通类区别 1:值不可变 2:具有防止相同标签得功能,不同标签值可以相同!...三:枚举类型、枚举值、枚举名称 1:VIP.YELLOW.Value 获得标签值 2:VIP.BLACK.name 获取标签名称 3:枚举里面的部分为枚举类型!...四:枚举之间比较 1: 支持等值比较和is, 不支持大小比较 2: 不同枚举类之间比较 五:枚举注意事项 不同标签值相同时候,第二种会被当做一种别名,调用时会被覆盖!...__members__.items(): print(v) 六:枚举转换 从数据库中去除某一个数值对应值(a = 1),根据a值匹配枚举类型 a = 1...print(VIP(a)) 七:其他 1:IntEnum类型说明:枚举都是int类型

    1K30

    Python 基础(十五):枚举

    1 简介 起初 Python 中并未内置枚举(enum)类型,枚举是在 Python3.4 添加新功能,此时我们可能会有一个疑问:Python3.4 之前版本还能不能使用枚举呢? ?...什么是枚举枚举可看作是一系列符号名称集合,集合中每一个元素要保证唯一性和不可变,因此我们可以对枚举中元素进行恒等比较,通俗来讲枚举就是一系列常量集合,枚举是可迭代枚举有什么作用?...我们先来思考一个问题:不使用枚举我们如何定义常量呢? ? 常用做法是采用变量名大写方式来定义,这种方式虽然简单,但问题在于我们定义仍然是变量、是可以被修改,而常量是什么呢?...简单来说就是不可变量,枚举就有不可变特性,所以枚举主要作用就是用来定义常量。...2 使用 2.1 创建 枚举语法与 class 语法相同,之前我们在Python 基础(十一):面向对象中已经介绍过 class 了,枚举定义可以通过继承 Enum 方式来实现, 看一下示例: from

    55030

    Python 枚举类型 Enum

    1d = {"jan": 1, "feb": 2, "mar": 2} 对于这种情况,在 Python3.4 之后,给我们增加了枚举类,枚举类型可以看作是一种标签或是一系列常量集合,通常用于表示某些特定有限集合...同时使用类获取属性时候,输出不是它数值,而是会显示枚举项。这样更能增加代码可读性。 对比普通类,它有以下优势: 不允许在类外直接修改枚举值。...枚举可以相同值,但是值相同各项 Key 都会当做别名 在枚举类中,可以有相同值,但是后面的枚举项都是第一个别名 1class Color(Enum): 2 RED = 1 3 GREEN...枚举基本操作 获取枚举标签值 1Color.GREEN.value 获取枚举标签名字 1Color.GREEN.name 对枚举进行遍历 1for v in Color: 2 print(v...那么如果我们怎么将枚举值转换成枚举名称呢?

    1.2K30

    Python中使用枚举

    开发中我们经常定义常量, 其实有更好方法:为这样枚举类型定义一个class类型,然后,每个常量都是class一个唯一实例。...Python中提供了Enum类来实现这个功能: from enum import Enum Numbers = Enum('Name', ('乔峰', '鸠摩智', '段誉', '阿紫', '虚竹',....段誉 , 3 阿紫 => Name.阿紫 , 4 虚竹 => Name.虚竹 , 5 慕容复 => Name.慕容复 , 6 6 Name.虚竹 Name.鸠摩智 上面我们就获得了Numbers类型枚举类...,可以直接使用: Numbers.乔峰 来引用一个常量,或者枚举所有成员。...value属性则是自动赋给成员int常量,默认从1开始计数。 可见,我们既可以用成员名称引用枚举常量,又可以直接根据value值获得枚举常量。

    45710

    python高阶函数和枚举

    python enumerate()函数 用于将一个可遍历数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中,可同时得到数据对象值及对应索引值。...中 map()函数 map()是 Python 内置高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 每个元素上,得到一个新 list 并返回。...也就是说会根据提供函数对指定序列做映射。Python 2.x 返回列表。python3返回是一个迭代器。...__members__ .items(): print(v) print(Weekdays.Monday) # >>> Weekdays.Monday 枚举意义重在标签而不在于数值,使用...print(Weekdays.Monday) 打印结果不是1而是Weekdays.Monday,这也符合枚举意义 #获取名字和值 print(Weekdays.Monday.name) print(

    39510
    领券