Python: `enum.auto()` 生成参数未填充的警告
Python: `enum.auto()` Generating Warning That Parameter is Unfilled
我有下面的代码,它定义了一个枚举并使用 enum.auto()
为条目提供从 1 开始生成的值:
from enum import Enum, auto
class Colors(Enum):
RED = auto()
BLUE = auto()
YELLOW = auto()
def main():
print(Colors.RED.value)
print(Colors.BLUE.value)
print(Colors.YELLOW.value)
if __name__ == '__main__':
main()
输出:
1
2
3
代码工作正常,以前没有任何警告,但在今天更新 PyCharm 之后,我现在收到 auto()
的以下警告:
Parameter(s) unfilled
Possible callees:
EnumMeta.__call__(cls: Type[_T], value, names: None = ...)
EnumMeta.__call__(cls: EnumMeta, value: str, names: Union[str, Iterable[str], Iterable[Iterable[str]], Mapping[str, Any]], *, module: Optional[str] = ..., qualname: Optional[str] = ..., type: Optional[type] = ..., start: int = ..., boundary: Optional[FlagBoundary] = ...)
EnumMeta.__call__(cls: Type[_T], value, names: None = ...)
EnumMeta.__call__(cls: EnumMeta, value: str, names: Union[str, Iterable[str], Iterable[Iterable[str]], Mapping[str, Any]], *, module: Optional[str] = ..., qualname: Optional[str] = ..., type: Optional[type] = ..., start: int = ...)
我检查了 Python documentation 但找不到任何相关内容,因为所有示例仍然使用 auto()
没有任何参数。
我假设新警告是因为 PyCharm 正在使用更新的 Python linting 规则。
如何解决此警告?
更新 1:
似乎PyCharm正在检测enum.auto()
为enum.auto(IntFlag)
,因此警告参数未填写:
我也会将此问题报告给 PyCharm 开发人员。也许这是一个错误。
更新 2:
没关系,大家。我刚发现这是一个错误并在一个月前被报告 here.
没关系,大家。我刚发现这是一个错误,一个月前有人报告过 here.
我有下面的代码,它定义了一个枚举并使用 enum.auto()
为条目提供从 1 开始生成的值:
from enum import Enum, auto
class Colors(Enum):
RED = auto()
BLUE = auto()
YELLOW = auto()
def main():
print(Colors.RED.value)
print(Colors.BLUE.value)
print(Colors.YELLOW.value)
if __name__ == '__main__':
main()
输出:
1
2
3
代码工作正常,以前没有任何警告,但在今天更新 PyCharm 之后,我现在收到 auto()
的以下警告:
Parameter(s) unfilled
Possible callees:
EnumMeta.__call__(cls: Type[_T], value, names: None = ...)
EnumMeta.__call__(cls: EnumMeta, value: str, names: Union[str, Iterable[str], Iterable[Iterable[str]], Mapping[str, Any]], *, module: Optional[str] = ..., qualname: Optional[str] = ..., type: Optional[type] = ..., start: int = ..., boundary: Optional[FlagBoundary] = ...)
EnumMeta.__call__(cls: Type[_T], value, names: None = ...)
EnumMeta.__call__(cls: EnumMeta, value: str, names: Union[str, Iterable[str], Iterable[Iterable[str]], Mapping[str, Any]], *, module: Optional[str] = ..., qualname: Optional[str] = ..., type: Optional[type] = ..., start: int = ...)
我检查了 Python documentation 但找不到任何相关内容,因为所有示例仍然使用 auto()
没有任何参数。
我假设新警告是因为 PyCharm 正在使用更新的 Python linting 规则。
如何解决此警告?
更新 1:
似乎PyCharm正在检测enum.auto()
为enum.auto(IntFlag)
,因此警告参数未填写:
我也会将此问题报告给 PyCharm 开发人员。也许这是一个错误。
更新 2:
没关系,大家。我刚发现这是一个错误并在一个月前被报告 here.
没关系,大家。我刚发现这是一个错误,一个月前有人报告过 here.