Héritage entre les types numériques Python et NumPy

J'ai essayé de savoir si le type numérique NumPy hérite du type numérique Python correspondant.

import builtins
import numpy as np

np_numt = [
    np.bool_,
    np.int_,
    np.intc,
    np.intp,
    np.int8,
    np.int16,
    np.int32,
    np.int64,
    np.uint8,
    np.uint16,
    np.uint32,
    np.uint64,
    np.float_,
    np.float16,
    np.float32,
    np.float64,
    np.complex_,
    np.complex64,
    np.complex128
]

py_numt = ["bool", "int", "float", "complex"]

for np_t in np_numt:
    py_t = next(tstr for tstr in py_numt if tstr in str(np_t))
    print(np_t, py_t, issubclass(np_t, getattr(builtins, py_t)))

Quand j'exécute ce code

<class 'numpy.bool_'> bool False
<class 'numpy.int32'> int False
<class 'numpy.int32'> int False
<class 'numpy.int64'> int False
<class 'numpy.int8'> int False
<class 'numpy.int16'> int False
<class 'numpy.int32'> int False
<class 'numpy.int64'> int False
<class 'numpy.uint8'> int False
<class 'numpy.uint16'> int False
<class 'numpy.uint32'> int False
<class 'numpy.uint64'> int False
<class 'numpy.float64'> float True
<class 'numpy.float16'> float False
<class 'numpy.float32'> float False
<class 'numpy.float64'> float True
<class 'numpy.complex128'> complex True
<class 'numpy.complex64'> complex False
<class 'numpy.complex128'> complex True

Et seuls numpy.float64 (et son alias numpy.float_) et numpy.complex128 (et son alias numpy.complex_) correspondent respectivement aux types Python correspondants float et`. Cela semble être un sous-type de complexe ».

numpy.float64 est jsonable dans la bibliothèque standard json, mais notez que la valeur renvoyée est de type Python. Par exemple, l'expression suivante est du type «float» de Python.

import json
type(json.loads(json.dumps(np.float64(64))))

D'autres types numériques NumPy entraîneront une erreur avec la valeur par défaut json.

Recommended Posts

Héritage entre les types numériques Python et NumPy
Type numérique Python
Astuces Python et Numpy
[python] week1-3: Type de nombre et opération
Python #inheritance (héritage)
Cours de base Python (4 types numériques / type chaîne de caractères)
Mon Numpy (Python)
Installez et exécutez Python3.5 + NumPy + SciPy sur Windows 10
Relation entre la conversion des types de données Firestore et Go
J'ai comparé "type de dictionnaire python" et "fonction excel"
À propos de l'héritage Python
Problème avec les variables pseudo-privées Python et l'héritage de classe
Les bases de #Python (#Numpy 2/2)
Type de chaîne Python2
Python # type de chaîne
Principes de base de Python #Numpy
[Python] Type de classe et utilisation du module datetime
[Python] Mémo Numpy
Relation entre les opérateurs et les méthodes spéciales, essayez d'appeler une méthode numérique
Apprentissage des données relationnelles avec numpy et NetworkX (clustering spectral)
[Astuces] Calcul des différences de premier ordre et conversion inverse [python / numpy]
[Python] Erreur de type: résumé des causes et des solutions pour "Aucun type"
Ce n'est pas facile d'écrire Python, c'est facile d'écrire numpy et scipy
Python # Comment vérifier le type et le type pour les super débutants
Comparez la "relation log et infini" avec Gauche (0.9.4) et Python (3.5.1)
[python] Compresser et décompresser
[Python] pip et roue
Paquets et modules Python
Intégration Vue-Cli et Python
Ruby, Python et carte
[Python] Héritage de classe, remplacement
[Python] Recherche (NumPy) ABC165C
calcul de tableau numpy python
entrée et sortie python
Python et Ruby se séparent
Python # Vérifier l'identité du type
Python asyncio et ContextVar
Python Basic --Pandas, Numpy-
[Introduction à cx_Oracle] (Partie 6) Mappage des types de données DB et Python
Créons un diagramme PRML avec Python, Numpy et matplotlib.