Generate the next value when not given. name: the name of the member start: the initial start value or None count: the number of existing members last_values: the list of values assigned
>>> from enum import auto, Enum >>> class PowersOfThree(Enum): ... @staticmethod ... def _generate_next_value_(name, start, count, last_values): ... return 3 ** (count + 1) ... FIRST = auto() ... SECOND = auto() ... >>> PowersOfThree.SECOND.value 9
enum/Enum._generate_next_value_
Enum._generate_next_value_