Ste*_*tef 5 python interface type-hinting
我想添加 db-api 类型提示,例如:
def test_connect() -> Connection : ...
知道我正在动态加载模块驱动程序(意思是,没有像“pyodbc.Connection”这样的硬编码),并且在 Python 中没有正式的接口契约。
任何的想法 ?
Mic*_*x2a 4
您可能想在这里使用协议。
简而言之,您在代码库中定义一个自定义协议,其中包含任何“连接”对象必须具有的方法的签名。然后,您可以自由返回任何任意对象,只要它包含具有指定方法的方法即可。
最后说明:我知道 mypy 支持协议,但我不确定其他类型检查器是否支持。有一个开放的 PEP可以正式将协议引入 Python 类型生态系统——一旦 PEP 被接受,其他类型检查器可能会添加对协议的支持(如果他们还没有的话)。
归档时间:
7 年,11 月 前
查看次数:
1559 次
最近记录:
5 年,12 月 前