python - 注释压缩元组的类型
问题描述
我正在尝试 Python 3.7.6 中的类型提示
from typing import Tuple
v1: Tuple[int, int] = (3,4)
v2: Tuple[int, int] = (2,3)
# build the sum of the two vectors
mysum: Tuple[int, int] = tuple(sum(t) for t in zip(v1, v2))
print(mysum)
这段代码运行良好。但是mypy不高兴:
typedzip.py:5: error: Incompatible types in assignment (expression has type "Tuple[int, ...]", variable has type "Tuple[int, int]")
Found 1 error in 1 file (checked 1 source file)
我是mypy的新手。我必须从这里有哪些选择?我想摆脱 mypy 错误(我设置了我的 IDE 以将所有带有 mypy 错误的文件标记为红色 - 我非常喜欢这一点)。最好不要告诉 mypy 忽略此文件或此类错误。我可以提供更多类型提示吗?
我知道,在这种简单的情况下,我可以用一个新的二值元组的简单构造来替换理解。压缩似乎失去了类型对其基数的意识。但我想知道我是否可以通过提供更多提示或告诉它元组的基数来帮助类型推理系统。
解决方案
推荐阅读
- html - 使图像适合 div 并相应调整大小
- uwp - 每次运行 UWP 命令而不是 onclick 事件
- android - 使用 Chrome DevTools (Stetho) 提取 Sqlite 数据库
- ios - 在 AppStore 上,如何按地区以不同方式更新我的应用程序?
- scala - 将 SparkSQL 的输出打印到数据框
- c# - 建立代理集线器连接时,不会触发 SignalR OnConnected 和 On Dissconnected 覆盖方法
- javascript - 如何在 Microsoft Edge 中创建 ReadableStream?
- tensorflow - 简单的自动编码器在许多时期后没有收敛
- android - 将画布绘图缩放到屏幕大小
- python-3.x - 如何根据条件替换基于先前值的列值并从数据框中选择行