Pylance类型检测报错:如何解决自定义装饰器导致的返回类型识别问题?
本篇文章给大家分享《Pylance类型检测报错:如何解决自定义装饰器导致的返回类型识别问题?》,覆盖了文章的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一定的认识(B 数),从而弥补自己的不足,更好的掌握它。
解决使用自定义装饰器时 pylance 类型检测错误
使用自定义装饰器装饰函数时,pylance 可能无法识别装饰函数的返回类型,从而导致类型检测错误。以下是如何修改代码以解决此问题:
在自定义装饰器中,将装饰过的函数的返回类型显式指定为 callable[…, result]. 其中,result 是装饰过的函数的预期返回类型。
修改后的代码如下:
from typing import Callable def execute(func) -> Callable[..., Result]: def inner_wrapper(*args, **kwargs) -> Result[Any]: with Session.begin() as session: result = session.execute(func(*args, **kwargs)) return result return inner_wrapper
这样修改后,pylance 将识别 query_data_source 函数的返回类型为 result[any],消除警告。
文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《Pylance类型检测报错:如何解决自定义装饰器导致的返回类型识别问题?》文章吧,也可关注公众号了解相关技术文章。