Ad
Is It Possible To Define Enums Without Values With Python?
One advantage of enums in Java and other languages is that I do not have to care about specific values (in contrast to constants/static final members). For example, in Java I can do the following:
public enum Color {
RED, BLUE;
}
At least to my knowledge, in python I have to do the following:
class Color(Enum) {
RED = "red" # or e.g 1
BLUE = "blue" # or e.g. 2
}
If I have an enum with hundreds of names, then this can get quite cumbersome, because I always have to keep track whether a value was already assigned to a name or not. Is it maybe possible to achieve the same result as in Java without resorting to generators or the like?
Ad
Answer
If you're using Python 3.6 or later, you can use enum.auto()
:
from enum import Enum, auto
class Color(Enum):
RED = auto()
BLUE = auto()
The documentation for the enum
library describes this and other useful features like the @unique
decorator.
Ad
source: stackoverflow.com
Related Questions
- → What are the pluses/minuses of different ways to configure GPIOs on the Beaglebone Black?
- → Django, code inside <script> tag doesn't work in a template
- → React - Django webpack config with dynamic 'output'
- → GAE Python app - Does URL matter for SEO?
- → Put a Rendered Django Template in Json along with some other items
- → session disappears when request is sent from fetch
- → Python Shopify API output formatted datetime string in django template
- → Can't turn off Javascript using Selenium
- → WebDriver click() vs JavaScript click()
- → Shopify app: adding a new shipping address via webhook
- → Shopify + Python library: how to create new shipping address
- → shopify python api: how do add new assets to published theme?
- → Access 'HTTP_X_SHOPIFY_SHOP_API_CALL_LIMIT' with Python Shopify Module
Ad