特定の型ヒントを実装した人はいますか?numpy.ndarray
クラス?
今使っているのはtyping.Any
ですが、もっと具体的なものがあればいいと思います。
例えばNumPyの人たちが型エイリアス彼らの配列のようなオブジェクトクラス。さらに良いのは、dタイプレベル、他のオブジェクトがサポートされるように、またufunc。
ベストアンサー1
Numpy 1.21 にはジェネリック型numpy.typing
のモジュールが含まれていますNDArray
。
からNumpy 1.21 ドキュメント:
numpy.typing.NDArray = numpy.ndarray[typing.Any, numpy.dtype[+ScalarType]]
のジェネリックバージョン
np.ndarray[Any, np.dtype[+ScalarType]]
。実行時に、指定された dtype と未指定の形状を持つ配列を型指定するために使用できます。
例:
>>> import numpy as np >>> import numpy.typing as npt >>> print(npt.NDArray) numpy.ndarray[typing.Any, numpy.dtype[+ScalarType]] >>> print(npt.NDArray[np.float64]) numpy.ndarray[typing.Any, numpy.dtype[numpy.float64]] >>> NDArrayInt = npt.NDArray[np.int_] >>> a: NDArrayInt = np.arange(10) >>> def func(a: npt.ArrayLike) -> npt.NDArray[Any]: ... return np.array(a)
2022-09-05現在、シェイプのサポートはまだ進行中です。numpy/numpy#16544。