使用属性的Python枚举类型

9 浏览
0 Comments

使用属性的Python枚举类型

考虑以下内容:

class Item:
   def __init__(self, a, b):
       self.a = a
       self.b = b
class Items:
    GREEN = Item('a', 'b')
    BLUE = Item('c', 'd')

是否有办法将简单枚举的思想应用到这种情况?(参见这个问题)理想情况下,像Java一样,我希望将所有内容都压缩到一个类中。

Java模型:

enum EnumWithAttrs {
    GREEN("a", "b"),
    BLUE("c", "d");
    EnumWithAttrs(String a, String b) {
      this.a = a;
      this.b = b;
    }
    private String a;
    private String b;
    /* 访问器和其他Java噪声 */
}

0