Python数据结构与算法(1)---枚举类型enum

本文介绍了Python中的枚举类型enum,包括如何创建枚举类,枚举的迭代,比较枚举,以及IntEnum子类用于数值比较。枚举允许定义具有特定值的常量,防止重复值并提供友好的名称。文章还讨论了如何动态生成枚举类型。
摘要由CSDN通过智能技术生成

前言

之所以博主思考再三,开设一个数据结构的基础冷门课程。是因为目前大多数数据结构的书籍都使用的是C/C++,无疑增加了学习的门槛。

而python语言相对来说,更容易入门掌握,通过python学习数据结构与算法,对于初学者似乎更加的友好。

本篇,首先介绍的是枚举类型。在python库中,提供了枚举模块enum。通过该模块,我们可以定义程序员容易理解的字面量整数与字符串。

创建枚举

话不多说,我们先来创建一个简单的枚举类:星期。也就是让程序员容易理解的星期几的枚举类。具体定义方式如下:

import enum

class Week(enum.Enum):
    Monday = 1
    Tuesday = 2
    Wednesday = 3
    Thursday = 4
    Friday = 5
    Saturday = 6
    Sunday = 7

print("name", Week.Monday.name)
print("value", Week.Monday.value)

运行之后,控制台输出如下:
枚举定义

从上面的代码,我们知道,定义一个枚举类,必须派生Enum。而且还要定义描述值的类属性name与具体的值value。

迭代枚举

这里,因为是我们主动定义的枚举类,所以我们能知道具体的name和value。但是多数情况下,我们引用别人定义的枚举类,并不清楚具体的name与value。这个时候,就需要遍历来获取其枚举的各个成员。

下面,我们来遍历上面的星期枚举,具体代码如下所示:

import enum


class Week(enum.Enum):
    Monday = 1
    Tuesday = 2
    Wednesday = 3
    Thursday = 4
    Friday = 5
    Saturday = 6
    Sunday = 7


for i in Week
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李元静

您的鼓励就是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值