如何正确为Python装饰器工厂添加类型标注?
装饰器类型标注问题求助:mypy无法正确绑定被装饰函数的返回类型TypeVar
- 我写了一个装饰器工厂,用它装饰返回类型为
int的函数fun()后,mypy无法将int正确绑定到定义的TypeVarT,反而显示为T-2。 - Pylance能识别变量类型为
int,但猜测它没有对装饰器的类型逻辑做严格检查。 - 移除
@decorator_factory装饰器后,mypy就能正常推导函数返回类型,问题直接消失。 - 相关场景里还有
decorator.decorator风格的同类示例,我怀疑不是mypy的bug,应该是自己的装饰器类型标注写错了,想请大家帮忙排查。
内容的提问来源于stack exchange,提问作者bers
相关产品推荐
相关产品推荐

