Ich bin ein wenig süchtig nach den Typhinweisen und Typprüfungen von Numpy, also lasse ich es als Memorandum.
Dieses Mal verwende ich eine Bibliothek zum Eingeben von numpy namens "nptyping". Repository: GitHub --ramonhagenaars / nptyping
Die beiden unteren sind "True", auch wenn das Element nicht "int" ist. ** (Any wird aus der Standardbibliothek Typing importiert) **
vec = np.array([1, 2, 3], int)
isinstance(vec, NDArray[3, int]) # True
isinstance(vec, NDArray[(3,), int]) # True
isinstance(vec, NDArray[(3, ...), int]) # True
isinstance(vec, NDArray[(3,), Any]) # True
isinstance(vec, NDArray[3]) # True
Oben befindet sich die Matrix $ (any) \ times3 $. Die beiden unteren sind "True", auch wenn sie nicht "int" sind. ** (Any wird aus der Standardbibliothek Typing importiert) **
mat = np.array([[1, 2, 3], [4, 5, 6]], int)
isinstance(mat, NDArray[(Any, 3), int]) # True
isinstance(mat, NDArray[(2, 3), int]) # True
isinstance(mat, NDArray[2, 3]) # True
isinstance(mat, NDArray[(2, 3), Any]) # True