variable=[]
错误:
error: Need type annotation for 'variable' (hint: "variable: List[<type>] = ...")
在配置文件中:mypy.ini
disallow_any_expr=False
是否有任何方法可以通过配置文件中的标志覆盖此错误?
无法在配置文件的 mypy 中禁用 “需要类型注释” 错误。原因是 mypy 的核心原则及其存在的意义在于通过强制执行类型注释来增强 Python 代码的类型安全。
但是,你可以通过以下方法在代码中解决此错误,而无需在全局范围内禁用类型检查:
1. 添加类型注释:
这是推荐的方法。为你的变量指定一个类型注释:
python
variable: list = []
这告诉 mypy
variable
是一个列表。为了获得更好的类型安全性,请指定列表中元素的类型:
python
variable: list[int] = [] # 一个整数列表
2. 使用
typing.Any
:
如果你真的想在特定情况下避免类型检查,可以使用
Any
类型:
```python from typing import Any
variable: Any = [] ```
这告诉 mypy
variable
可以是任何类型,有效地禁用了对该特定变量的类型检查。但请谨慎使用,因为它会降低代码的类型安全。
3. 使用
# type: ignore
注释:
你可以将
# type: ignore
添加到该行以抑制 mypy 错误:
python
variable = [] # type: ignore
这应该谨慎使用,并且仅在你知道自己在做什么并且有充分理由禁用特定行的类型检查时才使用。
请记住,mypy 的目标是帮助你通过静态类型检查来及早发现错误。禁用或规避其检查应谨慎进行,并且仅在绝对必要时才进行。
标签:python,mypy From: 67923146