【发布时间】:2020-07-14 10:06:47
【问题描述】:
我正在尝试在 python 中使用泛型类型提示,但是我不确定我想要的行为是否可能。我对类型提示文档进行了大量阅读,但找不到我要查找的内容。
如果未定义类型,我希望能够使用默认类型指定类类型参数。例如,我会想象代码看起来像这样。
T = TypeVar('T')
S = TypeVar('S')
class Attribute(Generic[T, S=int]):
...
class FooBar:
a: Attribute[str, str]
b: Attribute[str]
所以在这种情况下,如果没有在类型提示中指定,类型 S 将默认为 int。我也对使用元编程实现这一目标的解决方案感到满意。
【问题讨论】:
-
这能回答你的问题吗?
标签: python metaprogramming python-3.7 type-hinting