【发布时间】:2023-04-03 12:47:02
【问题描述】:
我想在 Python 中创建自己的参数化类型以用于类型提示:
class MaybeWrapped:
# magic goes here
T = TypeVar('T')
assert MaybeWrapped[T] == Union[T, Tuple[T]]
别介意人为的例子;我该如何实施?我查看了 Union 和 Optional 的源代码,但它看起来像是一些我想避免的相当低级的黑客行为。
文档中唯一的建议来自example re-implementation of Mapping[KT,VT]
that inherits from Generic。但这个例子更多的是关于 __getitem__
方法而不是类本身。
【问题讨论】:
标签:
python
python-3.x
generics
metaclass
type-hinting
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何在 Python 中创建自己的“参数化”类型(如 `Optional[T]`)? - Python技术站