zoukankan      html  css  js  c++  java
  • python技巧31[python中使用enum]

    以下几种方法来模拟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']

    问题:有的时候需要使用enum的值作为字符串使用,像way5中表示的,大家有没有更好的办法?

    参考:http://audbel.com/0/5009691

    完!

  • 相关阅读:
    柱状图最大的矩形
    单词搜索
    最小覆盖子串
    颜色分类
    编辑距离
    X的平方根
    二进制求和
    最大子序和
    N皇后
    java8-14-时间API
  • 原文地址:https://www.cnblogs.com/itech/p/1977245.html
Copyright © 2011-2022 走看看