自定义数据类型是一种异构数据类型,可以当做用来记录电子表格或数据库中一行数据的结构。作为示例,我们将创建一个存储商店库存信息的数据类型。其中,我们用一个长度为40个字符的字符串来记录商品名称,用一个32位的整数来记录商品的库存数量,最后用一个32位的单精度浮点数来记录商品价格。下面是具体的步骤。
(1) 创建数据类型:
In:t = dtype([(,name', str_, 40), ('numitems', int32), ('price',float32)]) In:t Out:dtype([('name', '|S40'), ('numitems', '<i4'), ('price', '<f4')])
(2) 查看数据类型(也可以查看某一字段的数据类型) :
In:t['name'] Out:dtype('|S40')
在用 array 函数创建数组时,如果没有在参数中指定数据类型,将默认为浮点数类型。而现在,我们想要创建自定义数据类型的数组,就必须在参数中指定数据类型,否则将触发 TypeError错误:
In:itemz = array([('Meaning of life DVD', 42, 3.14), ('Butter', 13, 2.72)],dtype=t) In:itemz[1] Out:('Butter', 13, 2.7200000286102295)
刚才做了些什么
我们创建了一种自定义的异构数据类型,该数据类型包括一个用字符串记录的名字、一个用整数记录的数字以及一个用浮点数记录的价格。