我有这个类用于自动命名枚举。
class AutoNameEnum(Enum):
def _generate_next_value_(name, start, count, last_values):
return name
这直接取自Python文档中关于枚举的内容。
用法如下
class Priority(AutoNameEnum):
LOW = auto()
HIGH = auto()
priority = Priority.LOW
这一切都很好,我明白这里的一切。但是当我试着把AutoNameEnum
放到一个单独的包里,我得到了一个错误。具体地说,这个
from utilities import AutoNameEnum
class Priority(AutoNameEnum):
LOW = auto()
HIGH = auto()
priority = Priority.LOW
在搜索结果
参数"优先级"的默认值不兼容(默认类型为"auto",参数类型为"Priority")
这个mymyy错误是什么意思,为什么它只在我从另一个包导入类时发生?
这实际上与auto
或Enum
无关。我只需要通过在包的根目录中添加一个名为py.typed
的文件来表明我的包是输入的。否则,mymyy不会扫描包的类型。