Python从int继承实现枚举,pythonint枚举,枚举可以给数字一个可读的
Python从int继承实现枚举,pythonint枚举,枚举可以给数字一个可读的
枚举可以给数字一个可读的名称,在Python中可以从int继承来实现枚举:
"""Enumeration class representing a named integer."""class Enum(int): """Enumeration value is a named integer.""" #pylint: disable=R0904 def __new__(cls, rank, name): obj = int.__new__(cls, rank) obj.name = name return obj def __repr__(self): return 'Enum(' + repr(int(self)) + ', ' + repr(self.name) + ')' @staticmethod def lookup(enumvals): """Lookup from int/string to Enum instance for provided values""" result = {int(v): v for v in enumvals} result.update({v.name: v for v in enumvals}) return resultdef test(): """Tests of the Enum class""" # pylint: disable=C0103 WEAK = Enum(1, 'WEAK') MODERATE = Enum(2, 'MODERATE') STRONG = Enum(3, 'STRONG') assert repr(STRONG) == "Enum(3, 'STRONG')" assert WEAK < MODERATE < STRONG assert MODERATE > WEAK assert WEAK.name == 'WEAK' assert WEAK == 1 assert WEAK < 3if __name__ == '__main__': test()
相关内容
- python使用urllib2模拟http post,pythonurllib2,使用urllib2.ur
- python在windows下执行子进程时隐藏命令行窗口,python窗口
- python正则表达式判断文本中是否有中文,python正则表达
- python分割文件,,#!/usr/bin/e
- python with语句使用示例,pythonwith,下面代码中的Entry类
- python动态修改类方法的执行逻辑,python动态逻辑,下面的
- 获取文件夹大小的python代码,获取python代码,import osfr
- easy_install 指定版本安装包,easy_install安装包,easy_insta
- python beautifulsoup分析网页示例,,beautifulsoa
- python破解验证码,python验证码,有开源的tesserac
评论关闭