python的type和dtype

问题

最近在学机器学习,但对代码中的type()dtype这两个分不太清,它们之间的区别在哪里啊?求详解,十分感谢。 😅

部分相关代码

%matplotlib inline
import d2lzh as d2l
from mxnet.gluon import data as gdata
import sys
import time

mnist_train = gdata.vision.FashionMNIST(train=True)
mnist_test = gdata.vision.FashionMNIST(train=False)
feature, label = mnist_train[0]

print(label)
print(type(label))
print(label.dtype)

输出

img

数据类型对象(numpy.dtype类的实例)描述了如何解释与数组项对应的固定大小的内存块中的字节。 它描述了数据的以下几个方面:

  1. 数据类型(整型、浮点型、Python对象等)。
  2. 数据的大小(例如整数中有多少字节)。
  3. 数据的顺序(little-endian 或 big-endian)。
  4. 如果数据类型是结构化数据类型,则是其他数据类型的集合(例如,描述由整数和浮点数组成的数组项)。
  5. 结构的 “字段” 的名称是什么,通过这些名称可以访问它们。
  6. 每个 字段 的数据类型是什么,以及每个字段占用内存块的哪一部分。
  7. 如果数据类型是子数组,那么它的形状和数据类型是什么。

而type()作为保留字,是一个重要函数,不用基于numpy。

总的来说dtype是数据类型(元素的类型),而type是结构类型。

觉得有帮助的话,可以点击一下 采纳 ,谢谢哟~

Python 中 type、 dtype、 astype 用法区别
type() 属于 python 内置函数,可返回参数对象的数据类型或数据结构类型
dtype 出自 numpy.dtype ,用于查看数组的数据元素类型时需用 arr.dtype 属性的形式
astype 出自 numpy.chararray.astype ,改变 arr 中所有数据元素的类型为指定的 dtype 格式,返回一个修改后的 arr
https://zhuanlan.zhihu.com/p/366934271