共計 608 個字符,預計需要花費 2 分鐘才能閱讀完成。
Python 中的泛型并不是強類型,因此無法直接獲取傳入的類型。Python 的類型注解主要是用來提供靜態類型檢查的,而在運行時并沒有真正的類型信息。
但是,你可以使用 typing
模塊中的 Type
和TypeVar
來實現類型參數的傳遞和獲取。TypeVar
用于定義泛型類型參數,Type
用于獲取實際類型。
下面是一個示例:
from typing import Type, TypeVar
T = TypeVar('T')
def get_type(obj: T) -> Type[T]:
return type(obj)
# 傳入不同類型的參數
print(get_type("Hello")) # <class 'str'>
print(get_type(10)) # <class 'int'>
print(get_type([1, 2, 3])) # <class 'list'>
在上面的示例中,get_type()
函數接受一個泛型類型參數 T
,并使用type()
函數獲取傳入參數 obj
的實際類型。然后返回實際類型Type[T]
。
需要注意的是,typing
模塊中的 Type
和TypeVar
主要用于靜態類型檢查,運行時并沒有真正的類型信息。因此,Type
只能獲取到實際類型的基本信息,如 <class 'str'>
、<class 'int'>
等,而無法獲取到更詳細的類型信息。
丸趣 TV 網 – 提供最優質的資源集合!
正文完