教程集 www.jiaochengji.com
教程集 >  Python编程  >  Python入门  >  正文 Python3枚举类比较有什么限制?

Python3枚举类比较有什么限制?

发布时间:2020-12-06   编辑:jiaochengji.com
教程集为您提供Python3枚举类比较有什么限制?等资源,欢迎您收藏本站,我们将为您提供最新的Python3枚举类比较有什么限制?资源

上篇文章我们讲过了枚举法处理重复名称的方法,那么在使用枚举法上面,小伙伴知道有什么使用方面的限制吗?在收到小伙伴们的催促之前,小编已经提前想到了这个问题。经过对python3枚举法的学习与查阅,整理出了使用枚举法需要注意的事项,分享给大家。


枚举类型不能做大小比较,但是可以做身份比较和等值比较。

Color.RED is Color.RED  #True
Color.RED is Color.BLUE  #False

这是身份比较,每个对象都可以进行身份比较,枚举类也不例外。

Color.BLUE == Color.RED
Color.BLUE != Color.RED

这是等值比较,枚举类可以进行等值比较。

Color.RED < Color.BLUE
 
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: '<' not supported between instances of 'Color' and 'Color'

枚举类型没有定义比较运算符,通常不能进行大小比较(不过,继承“IntEnum"类的枚举类型可以进行大小比较,他们的枚举值只能是整数)。

枚举类的其他特性

最有趣的也是最重要的是枚举类型是使用单例模式实现的。在创建枚举类的时候,Python就在内存中为我们创建了枚举类的对象,因此我们不必实例化枚举类。并且由于枚举类的“__new__”方法,将会保证内存中只会存在一个枚举类的实例。

今天使用枚举法需要注意的事项到这里就分享结束了,怕忘记的小伙伴记住保存下来,不然下次找不到就比较麻烦了。

您可能感兴趣的文章:
Python3枚举类比较有什么限制?
golang枚举类型 - iota用法拾遗
Python3枚举类如何处理重复名称?
PHP 枚举类型的管理与设计
什么是枚举python
Django之modles.py创建表
超详细的Python中与迭代相关的函数
如何使用PHP来实现枚举?
C# 枚举类型转换字符串 Enum to string
C语言枚举类型学习笔记

[关闭]
~ ~