如果我想給下面函式的回傳值加上型別注解,應該怎么做?
import numpy as np
def myfunc(x: np.ndarray):
return x.sum()
函式回傳值的型別不同:
np.int8如果x.dtype是dtype('int8')np.int16如果x.dtype是dtype('int16')np.int32如果x.dtype是dtype('int32')np.float16如果x.dtype是dtype('float16')np.float32如果x.dtype是dtype('float32')...等
當然,我想避免使用-> Any.
uj5u.com熱心網友回復:
您可以使用 numpy 型別模塊中的 NDArray 并定義一個系結到 numpy 標量型別的 TypeVar。您可以將此系結型別傳遞給 NDArray 型別,并使用相同型別注釋函式的回傳型別。
import numpy as np
from typing import TypeVar
from numpy.typing import NDArray
ScalarType = TypeVar("ScalarType", bound=np.generic, covariant=True)
def myfunc(x: NDArray[ScalarType]) -> ScalarType:
return x.sum()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/424154.html
上一篇:列出所有可能的列組合的平均值
