Mkdir700's Note

Mkdir700's Note

Python

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

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

在Python中,泛型提供了灵活的类型注解方式,可以通过typing库的get_args和get_origin函数来获取类的泛型参数和原始类。通过示例代码演示了如何在实例内部获取泛型参数的类型,需要使用self.\_\_orig\_class\_\_属性。同时,对Generic类的源码进行了简要分析,说明了为何必须在\_\_init\_\_或\_\_new\_\_之后才能使用泛型参数。通过代码分析了Generic类中\_\_class_getitem\_\_方法的实现原理,以及_GenericAlias类的\_\_call\_\_方法是如何实现实例化过程的。文章还探讨了如何获取泛型参数T的类型,以及在实例方法中获取原始类及泛型参数数据类型的方法。
1230
0
1
2023-02-23