iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python枚举怎么定义与使用
  • 509
分享到

Python枚举怎么定义与使用

2023-07-06 00:07:21 509人浏览 薄情痞子

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

摘要

这篇文章主要介绍了python枚举怎么定义与使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python枚举怎么定义与使用文章都会有所收获,下面我们一起来看看吧。1. 枚举的定义首先,定义枚举要导入enum模

这篇文章主要介绍了python枚举怎么定义与使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python枚举怎么定义与使用文章都会有所收获,下面我们一起来看看吧。

1. 枚举的定义

  1. 首先,定义枚举要导入enum模块。

  2. 枚举定义用class关键字,继承Enum类。

  3. 用于定义枚举的class和定义类的class是有区别

  示例代码:

from enum import Enumclass Color(Enum):    red = 1    orange = 2    yellow = 3    green = 4    blue = 5    indiGo = 6    purple = 7

  代码分析:

上面的代码,我们定义了颜色的枚举Color.颜色枚举有7个成员,分别是Color.red、Color.orange、Color.yellow等。每一个成员都有它们各自名称和值,Color.red成员的名称是:red,值是:1。每个成员的数据类型就是它所属的枚举。【*注:用class定义的类,实际上就是一种类型】

1.1 定义枚举时,成员名称不允许重复   

from enum import Enumclass Color(Enum):    red = 1    red = 2

  上面的代码,就无法执行。提示错误:TypeError: Attempted to reuse key: 'red'

 1.2 默认情况下,不同的成员值允许相同。但是两个相同值的成员,第二个成员的名称被视作第一个成员的别名  

from enum import Enumclass Color(Enum):    red = 1    red_alias = 1

  成员Color.red和Color.red_alias具有相同的值,那么成员Color.red_alias的名称red_alias就被视作成员Color.red名称red的别名。

   1.3 如果枚举中存在相同值的成员,在通过值获取枚举成员时,只能获取到第一个成员

from enum import Enumclass Color(Enum):    red = 1    red_alias = 1 print(Color(1))

  输出结果为:Color.red

 1.4 如果要限制定义枚举时,不能定义相同值的成员。可以使用装饰器@unique【要导入unique模块】

from enum import Enum, unique  @uniqueclass Color(Enum):    red = 1    red_alias = 1

  再执行就会提示错误:ValueError: duplicate values found in <enum 'Color'>: red_alias -> red

2. 枚举取值 

 2.1 通过成员的名称来获取成员

Color['red']

 2.2 通过成员值来获取成员

Color(2)

 2.3 通过成员,来获取它的名称和值

red_member = Color.redred_member.namered_member.value

3. 迭代器 

3.1 枚举支持迭代器,可以遍历枚举成员

for color in Color:    print(color)

  输出结果是,枚举的所有成员。Color.red、Color.orange、Color.yellow、Color.green、Color.blue、Color.indigo、Color.purple。

 3.2 如果枚举有值重复的成员,循环遍历枚举时只获取值重复成员的第一个成员

from enum import Enum  class Color(Enum):    red = 1    orange = 2    yellow = 3    green = 4    blue = 5    indigo = 6    purple = 7    red_alias = 1  for color in Color:    print(color)

  输出结果是:Color.red、Color.orange、Color.yellow、Color.green、Color.blue、Color.indigo、Color.purple。但是Color.red_alias并没有出现在输出结果中。

 3.3 如果想把值重复的成员也遍历出来,要用枚举的一个特殊属性__members__

from enum import Enum  class Color(Enum):    red = 1    orange = 2    yellow = 3    green = 4    blue = 5    indigo = 6    purple = 7    red_alias = 1  for color in Color.__members__.items():    print(color)

  输出结果:

('red', <Color.red: 1>)、('orange', <Color.orange: 2>)、('yellow', <Color.yellow: 3>)、('green', <Color.green: 4>)、('blue', <Color.blue: 5>)、('indigo', <Color.indigo: 6>)、('purple', <Color.purple: 7>)、('red_alias', <Color.red: 1>)

4. 枚举比较

 4.1 枚举成员可进行同一性比较

Color.red is Color.red

  输出结果是:True

Color.red is not Color.blue

  输出结果是:True

 4.2 枚举成员可进等值比较

Color.blue == Color.red

  输出结果是:False

Color.blue != Color.red

  输出结果是:True

 4.3 枚举成员不能进行大小比较

Color.red < Color.blue

  输出结果出错:

TypeError: unorderable types: Color() < Color()

关于“Python枚举怎么定义与使用”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Python枚举怎么定义与使用”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网Python频道。

--结束END--

本文标题: Python枚举怎么定义与使用

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python枚举怎么定义与使用
    这篇文章主要介绍了Python枚举怎么定义与使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python枚举怎么定义与使用文章都会有所收获,下面我们一起来看看吧。1. 枚举的定义首先,定义枚举要导入enum模...
    99+
    2023-07-06
  • C#的枚举与位枚举怎么定义
    这篇文章主要介绍了C#的枚举与位枚举怎么定义的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C#的枚举与位枚举怎么定义文章都会有所收获,下面我们一起来看看吧。一、枚举的概念C# 枚举(Enum), 枚举类型是用于...
    99+
    2023-06-27
  • Python枚举类怎么定义和使用
    本篇内容主要讲解“Python枚举类怎么定义和使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python枚举类怎么定义和使用”吧!一些具有特殊含义的类,其实例化对象的个数往往是固定的,比如用...
    99+
    2023-06-30
  • python枚举类型定义与使用讲解
    目录1.定义2.使用3.枚举构造器1.定义 在某些情况下,一个类的对象是有限且固定的,比如季节类,它只有 4 个对象;再比如行星类,目前只有 8 个对象。这种实例有限且固定的类,在 ...
    99+
    2024-04-02
  • java枚举如何定义与使用
    在Java中,枚举是一种特殊的数据类型,用于定义一组常量。枚举常量在声明时就被确定,并且不能被修改。下面是定义和使用Java枚举的步...
    99+
    2023-08-21
    java
  • 详解Python枚举的定义与用法
    目录1. 枚举的定义2. 枚举取值 3. 迭代器 4. 枚举比较1. 枚举的定义 首先,定义枚举要导入enum模块。枚举定义用class关键字,继承Enum类。用于定义枚举...
    99+
    2023-05-15
    Python枚举 Python枚举定义 Python枚举用法
  • Python枚举类定义和使用方法
    前言: 一些具有特殊含义的类,其实例化对象的个数往往是固定的,比如用一个类表示月份,则该类的实例对象最多有 12 个;再比如用一个类表示季节,则该类的实例化对象最多有 4 个。 针对...
    99+
    2024-04-02
  • 【javaSE】 枚举与枚举的使用
    文章目录 🎄枚举的背景及定义⚾枚举特性总结: 🌲枚举的使用🚩switch语句🚩常用方法📌示例一Ὄ...
    99+
    2023-09-20
    java 开发语言 枚举 源码 反射
  • springboot怎么定义和枚举
    在Spring Boot中,可以使用两种方式来定义和使用枚举。 第一种方式是使用Java的传统枚举类型。可以通过在Java类中定义一...
    99+
    2023-10-24
    springboot
  • C#中的枚举类型怎么定义使用
    这篇文章主要介绍“C#中的枚举类型怎么定义使用”,在日常操作中,相信很多人在C#中的枚举类型怎么定义使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#中的枚举类型怎么定义使用”的疑惑有所帮助!接下来,请跟...
    99+
    2023-07-02
  • C++的枚举类型怎么定义
    这篇文章主要介绍了C++的枚举类型怎么定义的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C++的枚举类型怎么定义文章都会有所收获,下面我们一起来看看吧。C++枚举类型enum表示枚举,通常用于定义个新类型的字符...
    99+
    2023-06-27
  • java怎么定义枚举常量类
    在Java中,可以使用enum关键字定义枚举常量类。 以下是定义枚举常量类的示例代码: public enum Weekday { ...
    99+
    2023-10-24
    java
  • C语言枚举型变量怎么定义和使用
    在C语言中,枚举类型(enum type)是一种自定义的数据类型,用于定义一组有限的取值,这些取值称为枚举常量(enum const...
    99+
    2023-10-10
    C语言
  • 一文搞懂Java项目中枚举的定义与使用
    目录什么是枚举为什么需要枚举类枚举类的定义和使用什么是枚举 最近写新项目!有很多数据字典常量需要定义和使用、就顺便记录一下、什么是枚举类呢?就是用enum修饰是一种Java特殊的类,...
    99+
    2024-04-02
  • C#枚举和枚举成员怎么使用
    这篇文章主要讲解了“C#枚举和枚举成员怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#枚举和枚举成员怎么使用”吧!C#枚举类型是一种的值类型,它用于声明一组命名的常数。(1)C#枚...
    99+
    2023-06-17
  • 在Python中怎么使用枚举
    这篇文章主要为大家展示了“在Python中怎么使用枚举”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“在Python中怎么使用枚举”这篇文章吧。在 Python 中使用枚举。我们可以使用以下方法来...
    99+
    2023-06-27
  • python如何使用枚举
    小编给大家分享一下python如何使用枚举,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!使用枚举我们常用 For 循环来遍历某个列表,同样我们也能枚举列表的索引与...
    99+
    2023-06-27
  • Python中使用枚举类
    开发中我们经常定义常量, 其实有更好的方法:为这样的枚举类型定义一个class类型,然后,每个常量都是class的一个唯一实例。Python中提供了Enum类来实现这个功能: from enum import Enum Numbers...
    99+
    2023-01-31
    Python
  • Python枚举方法怎么用
    这篇文章主要介绍“Python枚举方法怎么用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python枚举方法怎么用”文章能帮助大家解决问题。在Python中,枚举和我们在对象中定义的类变量时一样的...
    99+
    2023-06-27
  • 枚举类型的定义和应用总结
    定义:如果一种变量只有几种可能的值,可以定义为枚举类型。所谓“枚举类型”是将变量的值一一列举出来,变量的值只能在列举出来的值的范围内。 声明:声明枚举类型用enum开头,例如:复制代...
    99+
    2022-11-15
    枚举类型
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作