第8天 | 12天搞定Python,面向对象( 四 )

输出结果
64. 枚举取值
枚举可通过成员获取它的名称和值 , 可通过名称或值获取成员 。
# 引入枚举类和唯一装饰器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.Feb5. 枚举遍历
通过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_alias6. 枚举比较
枚举成员不可以比较大小 , 但可以通过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)输出结果
TrueTrueTrueTrue7. 类中枚举
枚举可以定义在类里 , 并可通过类名和枚举名进行调用 。
# ---引入枚举类---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编程从入门到实践##程序员#


推荐阅读