我如何指定一个元组可以具有我指定类型的任何值的类型
例如:
def _get_writable_values(self, *, username: str, password: str) -> Tuple[WritableValue]:
h = md5()
h.update(username.encode(DEFAULT_ENCODING) + password.encode(DEFAULT_ENCODING))
concatenated_hash = h.hexdigest()
return (
username,
password,
182, # ???
concatenated_hash,
157, # ???
)
我得到这个错误:
Expected type 'Tuple[Union[str, int, bytes]]', got 'Tuple[str, str, int, str, int]' instead.
WritableValue
的定义如下:
WritableValue = Union[str, int, bytes]
我不想覆盖每个子类的类型签名,我的用例的正确签名是什么
在本例中,您知道元组应该包含什么。正确的做法是函数声明它。如果在将来的某个时候,您意外地更改了元组中某个元素的类型,您希望尽快了解该元素的类型—即在编译类型(静态代码分析)中更改,而不是在运行时更改
因此,我建议的解决办法如下:
事实证明,你可以用点来表示:
相关问题 更多 >
编程相关推荐