Mkdir700's Note

Mkdir700's Note

Python

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

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

在 Python 中,泛型类如何获取泛型参数的类型?首先可通过 typing 库中的 get_args 方法获取泛型参数,以 Dict[str, int] 为例,可以获取到 str 和 int。而使用 get_origin 方法可以获取到类型的原始类。在实例方法中获取泛型参数类型时,需要通过 self.__orig_class__ 获取原始类。此外,分析了 Generic 类的源码,说明为何必须在初始化后才能使用泛型参数类型。通过分析 _GenericAlias 类及其 __call__ 方法,揭示了在实例化时获取泛型参数类型的原理。文章关键词:Python 泛型,如何在实例方法中获取泛型参数T的类型?, Python, Python技巧。
1173
0
1
2023-02-23