在实际编程历程中如果想制止发生这种情况可以借助 @unique 装饰器这样当枚举类中泛起相同值的成员时法式会报 ValueError 错误。"/>

Yabo亚搏体育官网入口app|手机版登录下载2022Yabo亚搏体育官网入口app|手机版登录下载2022

官方视频
python枚举类界说和使用-亚搏体育官网入口app,亚搏手机版app官网登录入口
来源:Yabo亚搏体育官网入口app    发布时间:2023-04-24 04:26:02
本文摘要:

在实际编程历程中如果想制止发生这种情况可以借助 @unique 装饰器这样当枚举类中泛起相同值的成员时法式会报 ValueError 错误。

在实际编程历程中如果想制止发生这种情况可以借助 @unique 装饰器这样当枚举类中泛起相同值的成员时法式会报 ValueError 错误。例如:

值得一提的是Python 枚举类中各个成员必须保证 name 互不相同但 value 可以相同举个例子:

亚搏体育官网入口app,亚搏手机版app官网登录入口

Enum() 函数可接受 2 个参数第一个用于指定枚举类的类名第二个参数用于指定枚举类中的多个成员。

除了通过继续 Enum 类的方法建立枚举类还可以使用 Enum() 函数建立枚举类。例如:

针对这种特殊的类Python 3.4 中新增加了 Enum 枚举类。

也就是说对于这些实例化工具个数牢固的类可以用枚举类来界说。

枚举类成员之间不能比力打下但可以用 == 或者 is 举行比力是否相等例如:

除此之外该枚举类还提供了一个 __ members __ 属性该属性是一个包罗枚举类中所有成员的字典通过遍历该属性也可以会见枚举类中的各个成员。例如:

如上所示仅通过一行代码即建立了一个和前面的 Color 类相同的枚举类。运行法式其输出效果为:

需要注意的是枚举类中各个成员的值不能在类的外部做任何修改也就是说下面语法的做法是错误的:

法式输出效果为:

输出效果为:

亚搏体育官网入口app,亚搏手机版app官网登录入口

和普通类的用法差别枚举类不能用来实例化工具但这并不故障我们会见枚举类中的成员。

会见枚举类成员的方式有多种例如以 Color 枚举类为例在其基础上添加如下代码:

可以看到Color 枚举类中 red 和 green 具有相同的值(都是 1)Python 允许这种情况的发生它会将 green 当做是 red 的别名因此当会见 green 成员时最终输出的是 red。

在 Color 枚举类中red、green、blue 都是该类的成员(可以明白为是类变量)。注意枚举类的每个成员都由 2 部门组成划分为 name 和 value其中 name 属性值为该枚举值的变量名(如 red)value 代表该枚举值的序号(序号通常从 1 开始)。

运行法式会报错:

亚搏体育官网入口app,亚搏手机版app官网登录入口

如果想将一个类界说为枚举类只需要令其继续自 enum 模块中的 Enum 类即可。

例如在上面法式中Color 类继续自 Enum 类则证明这是一个枚举类。

例如下面法式演示了如何界说一个枚举类:

一些具有特殊寄义的类其实例化工具的个数往往是牢固的好比用一个类表现月份则该类的实例工具最多有 12 个;再好比用一个类表现季节则该类的实例化工具最多有 4 个。


本文关键词:亚搏体育官网入口app,亚搏手机版app官网登录入口

本文来源:亚搏体育官网入口app,亚搏手机版app官网登录入口-www.top-me.cn

上一新闻:相比4AM与OMG,外国菠菜公司更看好韩国双雄|亚搏体育官网入口app,亚搏手机版app官网登录入口

下一新闻:亚搏体育官网入口app,亚搏手机版app官网登录入口_ 翻译公司:结果单翻译时需要注意什么?

推荐阅读

企业要闻

企业动态

门窗百科

太阳能着色 互补系统 易护理 保温 环保节能
预约报名 免费测量 免费设计 免费报价 免费安装 终身维护
版权所有©2011-2020 邯郸市手机版登录下载2022科技有限公司
冀ICP备24343177号-6
联系地址: 河北省邯郸市南山区视大大楼3445号
联系电话:035-795731213
联系邮箱:663395747@qq.com
传真号码:032-13006578