Python 类型检查器的高级配置与实践
1. mypy 类型检查的深入配置
1.1 –strict-optional 选项
当设置 --strict-optional 时(默认值因 mypy 版本而异,需仔细核对),以下代码会报错:
from typing import Optional
x: Optional[int] = None
print(x + 5)
运行结果会提示:
test.py:3: error: Unsupported operand types for + ("None" and "int")
test.py:3: note: Left operand is of type "Optional[int]"
mypy 会隐式地将 None 值视为 Optional 类型,建议关闭此特性,使代码更明确。例如:
def foo(x: int = None) -> None:
print(x)
参数 x 会被隐式转换为 Optional[int] ,若对 x 进行整数运算,类型检查器会报错。可设置 --no-implicit-op
超级会员免费看
订阅专栏 解锁全文

1474

被折叠的 条评论
为什么被折叠?



