Je suis un peu accro aux indices de type et aux vérifications de type de Numpy, donc je vais le laisser comme un mémorandum.
Cette fois, j'utilise une bibliothèque pour taper numpy appelée nptyping. Dépôt: GitHub --ramonhagenaars / nptyping
Les deux derniers sont «True» même si l'élément n'est pas «int ». ** (ʻAnyest importé de la bibliothèque standardtyping`) **
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
En haut se trouve la matrice $ (any) \ times3 $. Les deux derniers sont «True» même s'ils ne sont pas «int». ** (ʻAnyest importé de la bibliothèque standardtyping`) **
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