python 在Python 3.4中创建新的Enum类(向后移植为'enum34')具有可打印的表示
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 在Python 3.4中创建新的Enum类(向后移植为'enum34')具有可打印的表示相关的知识,希望对你有一定的参考价值。
# -*- encoding: utf-8 -*-
from __future__ import print_function
from enum import Enum
class PrintableValue(object):
def __init__(self, value, printable_name):
self.value = value
self.printable_name = printable_name
class EnumWithName(Enum):
def __new__(cls, value):
obj = object.__new__(cls)
obj._value_ = value.value
obj.printable_name = value.printable_name
return obj
class Country(EnumWithName):
AU = PrintableValue('AU', 'Australia')
US = PrintableValue('US', 'United States of America')
CA = PrintableValue('CA', 'Canada')
us = Country('US')
print('Enum name:', us.name)
print('Enum value:', us.value)
print('Printable name:', us.printable_name)
print("US == US:", Country('US') == us)
print("US == CA:", Country('US') == Country('CA'))
以上是关于python 在Python 3.4中创建新的Enum类(向后移植为'enum34')具有可打印的表示的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Python 中创建新的未知或动态/扩展对象
python 用于在python中创建新目录并向其写入文件的小脚本。
如何使用 python API 在 bigquery 中创建新视图?
如何使用 scala/python/spark 在 CSV 文件中创建新的时间戳(分钟)列
我无法在 python 中的数据系列中创建新列,以便对 hasrsine 公式进行赋值
如何在 python+numpy/pandas 中使用二值化在 json 文件中创建新列