J'aimerais qu'une fonction inclue un indice de type pour NumPy ndarray
avec son dtype
.
Avec des listes, par exemple, on pourrait faire ce qui suit ...
def foo(bar: List[int]):
...
... afin de donner une indication de type que bar
doit être list
composé de int
.
Malheureusement, cette syntaxe lève des exceptions pour NumPy ndarray
:
def foo(bar: np.ndarray[np.bool]):
...
> np.ndarray[np.bool]) (...) TypeError: 'type' object is not subscriptable
Est-il possible de donner des indices de type spécifiques à dtype
pour np.ndarray
?
À ma connaissance, il n'est pas encore possible de spécifier dtype
dans les indices de type tableau numpy dans les signatures de fonction. Il devrait être mis en œuvre à un moment donné dans le futur. Voir numpy GitHub issue # 737 and numpy-stubs GitHub pour plus de détails sur l'état de développement actuel.
Vous pouvez vérifier nptyping :
from nptyping import Array
def foo(bar: Array[np.bool]):
...
Ou vous pouvez simplement utiliser des chaînes pour les indices de type:
def foo(bar: 'np.ndarray[np.bool]'):
...