enum -- 枚举(一)

前情提示: 测试代码中,右尖括号(>)表示命令行中输入的命令; 单独一行并以井字符(#)开头的为输出内容; 库的导入仅在本文的第一个测试代码中展现,其他代码块均省略库的导入代码。

  • 系统类型: Windows 10
  • python 版本: Python 3.9.0

枚举是一组符号名称(枚举成员)的集合,枚举成员应该是唯一的、不可变的。

enum 模块将分为三个部分解析,第一部分主要介绍枚举的特性和 Enum 类,第二部分将介绍 Enum 类的三个变种类及自定义类,第三部分将更深入的了解枚举。

传送门

enum – 枚举(一)
enum – 枚举(二)

创建一个 Enum

枚举是使用 class 语法来创建的,这使得它们易于读写。但还是有一种以使用函数形式的创建方式,这个留到下文再讲,现在主要来说明一下使用 class 语法的创建方式。

import enum

class Test(enum.Enum):
    A = 1
    B = 'b'

上面的代码创建了一个枚举,class Test 是一个枚举,其中 Test 就是枚举对象的名称。

A = 1B = 'b' 这些等号两边的整体被称为 枚举成员,等号左边的被称为枚举成员的名称,枚举通常是用来表示常量的,所以枚举成员的名称一般使用大写形式。等号右边的被称为枚举成员的值,枚举成员的值可以是任意类型,如 intstr等等,只需要注意枚举成员的值在 枚举对象中是唯一的。

虽然创建枚举时使用了 class 语法,但是枚举与普通的 python 类不同,可以打印一些信息来进行对比:

'''枚举'''
class Test(enum.Enum):
    A = 1

print(Test)                      # 打印枚举
# <enum 'Test'>
print(Test.A)                    # 打印枚举成员本身
# Test.A
print(repr(Test.A))              # 打印枚举成员在解释器中的形式
# <Test.A: 1>
print(type(Test.A))              # 打印枚举成员类型
# <enum 'Test'>
print(isinstance(Test.A, Test))  # 判断枚举成员类型是否有枚举类型一致
# True

'''普通的 python 类'''
class Common:
    A = 1

print(Common)                    # 打印类
# <class '__main__.Common'>
print(Common.A)                  
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值