第8天 | 12天搞定Python,面向对象( 四 )
输出结果
6
4. 枚举取值
枚举可通过成员获取它的名称和值 , 可通过名称或值获取成员 。
# 引入枚举类和唯一装饰器from enum import Enum, unique@uniqueclass Months(Enum):Jan = 1Feb = 2Mar = 3Apr = 4May = 5Jun = 6Jul = 7Aug = 8Sep = 9Oct = 10Nov = 11Dec = 12# 通过成员获取名称和值print(Months.Jan.name, Months.Jan.value)# 通过名称和值获取成员print(Months["Feb"], Months(2))
输出结果
Jan 1Months.Feb Months.Feb
5. 枚举遍历
通过for循环遍历枚举成员时 , 如若出现成员的值相同时 , 只获取第一个成员 。 当然 , 如果要遍历所有成员的话 , 得用特殊的方式获取 , 就是通过__menbers__属性 。
# ---引入枚举类---from enum import Enumclass Colors(Enum):red = 1orange = 2yellow = 3green = 4red_alias = 1# 获取成员名称 , 值相等的,只获取第一个for color in Colors:print(color.name)# 获取所有成员名称for color in Colors.__members__:print(color)
输出结果
redorangeyellowgreenredorangeyellowgreenred_alias
6. 枚举比较
枚举成员不可以比较大小 , 但可以通过is、is not 和==、!=进行同性或等值比较 。
# ---引入枚举类---from enum import Enumclass Colors(Enum):red = 1orange = 2yellow = 3green = 4red_alias = 1# is 判断result = Colors.red is Colors.redprint(result)# is not判断result = Colors.red is not Colors.greenprint(result)# ==比较值是否相等result = Colors.red == Colors.red_aliasprint(result)# !=比较值是否不相等result = Colors.red != Colors.greenprint(result)
输出结果
TrueTrueTrueTrue
7. 类中枚举
枚举可以定义在类里 , 并可通过类名和枚举名进行调用 。
# ---引入枚举类---from enum import Enumclass Plane:def __init__(self, color):self.color = color# 类的成员class Colors(Enum):Red = 1Orange = 2Yellow = 3Green = 4Blue = 5plane = Plane(Plane.Colors.Blue.value)print(plane.color)
输出结果
5
好了 , 有关枚举类型的内容 , 老陈讲完了 , 如果觉得对你有所帮助 , 希望老铁能转发点赞 , 让更多的人看到这篇文章 。 你的转发和点赞 , 就是对老陈继续创作和分享最大的鼓励 。
一个当了10年技术总监的老家伙 , 分享多年的编程经验 。 想学编程的朋友 , 可关注今日头条:老陈说编程 。 我将分享Python , 前端(小程序)和App方面的编程知识 。 关注我 , 没错的 。
#Python##Python编程从入门到实践##程序员#
推荐阅读
- 手机照片、视频怎样添加文字?原来很简单,4种方法一分钟搞定
- 168天封顶!投资56亿重点AI项目将在上海竣工,提供世界领先算力支撑
- 仅用168天,商汤科技“新一代人工智能计算与赋能平台”项目结构封顶
- 从炼钢到轧钢一共要几步?武钢:“5G+AR”,一键搞定
- 百度|百度输入法“AI助聊”功能使用指南来了!纠错、预测、帮写轻松搞定
- 轻松搞定一天不插电办公 联想YOGA 13s 2021续航体验
- 8天卖出10万锅,“线上海底捞”浮出水面
- 第3天 | 12天搞定Python,用PyCharm编写代码
- 百度网盘下载太慢怎么办,一个软件帮你搞定,直接满速
- 原来华为手机秒变会议神器,开会再也不会手写,会议纪要轻松搞定