Python中的enum的使用方法

 更新时间:2022年08月12日 11:26:32   作者:phac12  
这篇文章主要介绍了Python中的enum的使用方法,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下,希望对你的学习有所帮助

为什么要使用Enum.(Why?)

在普通类别中,枚举和我们在对象中定义的类变量一样的,每一个类变量就是一个枚举项,

访问方式如下:

class HelloWolrd:
    life = 0
    literature = 1
    science = 2
    math = 3
    person = -1
    xzh = 0
    lq = 3
    wj = 2

print(HelloWolrd.lq)
HelloWolrd.lq = 9
print(HelloWolrd.lq)

在这里插入图片描述

这样的使用方法是存在两个问题的,即:

枚举类中,不应该存在key相同的枚举项(类变量) 不允许在类的外部直接修改枚举项的值

为了解决这个问题,我们考虑使用enum模块.

使用enum

enum模块是系统内置模块,可以直接使用import导入,但是在导入的时候,不建议直接使用import enum将enum模块全部导入,一般使用Enum, IntEnum,unique等.

from enum import Enum
class HelloWolrd(Enum):
    literature = 1
    person = -1
    xzh = 0
    lq = 3
    wj = 2

print(HelloWolrd.lq)
print(HelloWolrd.lq.value)

使用了Enum后面,有下面的限制:

  • 枚举类不能用来实例化对象
  • 访问枚举类中的某一项, 直接使用类名加上要访问的项即可, 比如color.YELLOW
  • 枚举类里面定义的Key = Value, 在类外部不能修改Value值.

如果在枚举类中的不同的key对应的value也想不同,那么在导入Enum的同时,需要导入unique如果想要value都是Int类型的,可导入IntEnum

到此这篇关于Python中的enum的使用方法的文章就介绍到这了,更多相关Python enum 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python pillow模块使用方法详解

    python pillow模块使用方法详解

    这篇文章主要介绍了python pillow模块使用方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Python与MongoDB交互的代码实现

    Python与MongoDB交互的代码实现

    Python与MongoDB的交互通常通过pymongo库来实现,pymongo是一个官方的Python驱动程序,用于与MongoDB数据库进行交互,以下是一个简单的示例,具有一定的参考价值,需要的朋友可以参考下
    2024-10-10
  • django框架自定义用户表操作示例

    django框架自定义用户表操作示例

    这篇文章主要介绍了django框架自定义用户表操作,结合实例形式分析了Django框架自定义用户表替换自带的user表具体操作步骤与相关使用技巧,需要的朋友可以参考下
    2018-08-08
  • python 求定积分和不定积分示例

    python 求定积分和不定积分示例

    今天小编就为大家分享一篇python 求定积分和不定积分示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • Python迭代器定义与简单用法分析

    Python迭代器定义与简单用法分析

    这篇文章主要介绍了Python迭代器定义与简单用法,结合实例形式分析了迭代器的概念、原理、创建及使用方法,需要的朋友可以参考下
    2018-04-04
  • Python Django实现layui风格+django分页功能的例子

    Python Django实现layui风格+django分页功能的例子

    今天小编就为大家分享一篇Python Django实现layui风格+django分页功能的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Pytorch 解决自定义子Module .cuda() tensor失败的问题

    Pytorch 解决自定义子Module .cuda() tensor失败的问题

    这篇文章主要介绍了Pytorch 解决自定义子Module .cuda() tensor失败的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • python中__set_name__的具体使用

    python中__set_name__的具体使用

    在Python中,我们可以通过__set_name__方法来实现一些特殊的操作,本文主要介绍如何在Python中实现__set_name__方法,并且给出一些实际应用的示例,感兴趣的可以了解一下
    2024-01-01
  • Python3中的tuple函数知识点讲解

    Python3中的tuple函数知识点讲解

    在本篇文章里小编给大家整理了一篇关于Python3中的tuple函数知识点讲解内容,有兴趣的朋友们可以学习参考下。
    2021-01-01
  • CentOS 6.5下安装Python 3.5.2(与Python2并存)

    CentOS 6.5下安装Python 3.5.2(与Python2并存)

    这篇文章主要给大家介绍了在CentOS 6.5下安装Python 3.5.2的方法教程,安装后的python3与Python2并存,文中分享了详细的方法步骤,对大家具有一定的参考学习价值,下面来一起看看吧。
    2017-06-06

最新评论