问题
如何迭代枚举标志别名?
from enum import Flag
class Color(Flag):
RED = 1
BLUE = 2
GREEN = 4
WHITE = RED | BLUE | GREEN # <- How do I retrieve this alias?
list(Color)
# [<Color.RED: 1>, <Color.BLUE: 2>, <Color.GREEN: 4>]
# How do I include Color.White and other aliases in this list?
Run Code Online (Sandbox Code Playgroud)
根据文档,__iter__仅返回非别名成员。
__iter__(self):
返回所有包含的非别名成员
版本 3.11 中的更改:迭代期间不再返回别名。