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

            http://www.cnblogs.com/itech/archive/2011/03/08/1977245.html

  • 相关阅读:
    [Android学习笔记]some tips
    ubuntu desktop 开机 连接网络
    ubuntn svn 安装 配置
    ubuntu 安装phpmyadmin
    ubuntu 安装flash插件
    ubuntu samba共享安装 配置
    ubuntu tengine 安装
    ubuntu vim之php函数提示
    ubuntu vim 插件安装
    nyoj-709-异 形 卵
  • 原文地址:https://www.cnblogs.com/sunshine-anycall/p/4297925.html
Copyright © 2011-2022 走看看