Python中模拟enum枚举类型的5种方法分享_python教程-查字典教程网
Python中模拟enum枚举类型的5种方法分享
Python中模拟enum枚举类型的5种方法分享
发布时间:2016-12-28 来源:查字典编辑
摘要:以下几种方法来模拟enum:(感觉方法一简单实用)复制代码代码如下:#way1classDirections:up=0down=1left=...

以下几种方法来模拟enum:(感觉方法一简单实用)

复制代码 代码如下:

# way1

class Directions:

up = 0

down = 1

left = 2

right =3

print Directions.down

# way2

dirUp, dirDown, dirLeft, dirRight = range(4)

print dirDown

# way3

import collections

dircoll=collections.namedtuple('directions', ('UP', 'DOWN', 'LEFT', 'RIGHT'))

directions=dircoll(0,1,2,3)

print directions.DOWN

# way4

def enum(args, start=0):

class Enum(object):

__slots__ = args.split()

def __init__(self):

for i, key in enumerate(Enum.__slots__, start):

setattr(self, key, i)

return Enum()

e_dir = enum('up down left right')

print e_dir.down

# way5

# some times we need use enum value as string

Directions = {'up':'up','down':'down','left':'left', 'right':'right'}

print Directions['down']

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新python学习
    热门python学习
    脚本专栏子分类