zoukankan      html  css  js  c++  java
  • Python中模拟enum枚举类型的5种方法分享

     

    这篇文章主要介绍了Python中模拟enum枚举类型的5种方法分享,本文直接给出实现代码,需要的朋友可以参考下
     

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

  • 相关阅读:
    iOS UI调试神器,插件injection for Xcode使用方法
    iOS 开发笔记-Objective-C之KVC、KVO
    iOS 测试企业应用的分发
    iOS 阅读唐巧博客心得
    iOS 添加启动图片
    Xcode 常用命令
    iOS 开发笔记
    iOS 开发常用链接总结
    iOS
    iOS UI基础
  • 原文地址:https://www.cnblogs.com/timssd/p/5848947.html
Copyright © 2011-2022 走看看