Python培训之有枚举类型吗?

发布时间:2022-11-30 09:37:29 人气:75 作者:多测师

  python中没有enum枚举类型,可能python认为这玩意压根就没用,下面列举了三种方法模拟enum枚举类型

  方法1. 使用自定义类

  class Numbers(object):

  ONE = 1

  TWO = 2

  THREE = 3

  assert Numbers.ONE == 1

  assert Numbers.TWO == 2

  assert Numbers.THREE == 3

  方法2:使用函数动态创建类

  def enum(**enums):

  return type('Enum', (object,), enums)

  Numbers = enum(ONE=1, TWO=2, THREE=3)

Python培训之有枚举类型吗?

  assert Numbers.ONE == 1

  assert Numbers.TWO == 2

  assert Numbers.THREE == 3

  方法3:创建一个从python的集合扩展来的对象

  class Enum(set):

  def __getattr__(self, name):

  if name in self:

  return name

  raise AttributeError

  Numbers = Enum( "ONE TWO THREE".split() )

  error = False

  try:

  print Numbers.ONE

  print Numbers.TWO

  print Numbers.THREE

  except:

  error = True

  assert error == False

  try:

  print Numbers.FOUR

  except:

  error = True

  assert error == True

  以上内容为大家介绍了Python培训之有枚举类型吗?,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注多测师。https://www.e70w.com/xwzx/


返回列表
在线客服
联系方式

热线电话

17727591462

上班时间

周一到周五

二维码
线