Mkdir700's Note

Mkdir700's Note

Python

Python 泛型 - 如何在实例方法中获取泛型参数T的类型?

Python 泛型 - 如何在实例方法中获取泛型参数T的类型?

本文介绍了在 Python 中如何利用 `typing` 库中的 `get_args` 和 `get_origin` 函数来获取泛型参数的类型。首先讲解了如何通过 `Dict[str, int]` 这样的表示方式来具体标注字典内键值对的类型,以及如何使用 `get_args` 和 `get_origin` 分别获取泛型参数和原始类。接着详细介绍了在实例方法中如何获取泛型参数 `T` 的实际类型,需要通过 `self.__orig_class__` 属性来获取原始类。最后对 `Generic` 类的源码进行了简要分析,解释了为什么必须在 `__init__` 和 `__new__` 之后才能使用泛型参数的类型。文章关键词包括 Python 泛型和 Python 技巧。
1065
0
1
2023-02-23