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

    完!

  • 相关阅读:
    html 一号店静态页面
    多线程
    TCP通信
    MySQL连接查询
    Mysql数据库 DDL 数据定义语言
    MySQL数据库 DML 数据操作语言
    java字符流
    java File类
    java变量
    JDK、JRE、JVM的关系
  • 原文地址:https://www.cnblogs.com/itech/p/1977245.html
Copyright © 2011-2022 走看看