【发布时间】:2020-02-16 15:54:06
【问题描述】:
我想创建一个参数化类型 RawOrVariable[T] = Union[T, Variable[T]] 以便
def foo(a: RawOrVariable[str]):
...
def bar(b: RawOrVariable[int]):
...
等价于
def foo(a: Union[str, Variable[str]]):
...
def bar(b: Union[int, Variable[int]]):
...
是否有捷径,或者我需要自己写一个课程RawOrVariable?例如。像这样:
@type_check_only
class RawOrVariable:
def __class_getitem__(cls, t):
return Union[t, Variable[t]]
我需要注意什么?
更新
当我使用上面的RawOrVarialbe 时,mypy 抱怨:"RawOrVariable" expects no type arguments, but 1 given。我有什么不同的做法?
【问题讨论】:
标签: python python-3.x python-typing