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

     

    完!

  • 相关阅读:
    java中文件的读取和写入
    ==与equal在java中应用的感悟
    Gson心得小笔记
    几种排序的算法
    HttpClient的使用方法
    StringBuffer
    laravel5.5容器
    常用会话管理方式
    css一些事儿
    关于时间的梳理
  • 原文地址:https://www.cnblogs.com/qq78292959/p/2993373.html
Copyright © 2011-2022 走看看