Comment faire pour déterminer si un nombre est n'importe quel type de int (core ou numpy, signé ou non)?

J'ai besoin de tester si une variable est de type int, ou de l'une de np.int*, np.uint*, de préférence à l'aide d'un seul état (c'est à dire pas or).

Après quelques tests, je suppose que:

  • isinstance(n, int) ne correspondent int et np.int32 (ou np.int64 en fonction de plate-forme),
  • np.issubdtype(type(n), int) semble correspondre à tous les int et np.int*, mais ne correspond pas à np.uint*.

Cela conduit à deux questions: sera np.issubdtype match tout signé ints? Pouvez déterminer dans un seul chèque de savoir si un nombre est un type signed ou unsigned int?

C'est sur le test pour entiers, le test doit être de retour False pour float-aime.

InformationsquelleAutor Arcturus B | 2016-06-09