在哪里可以找到 NumPy 对象的 "format" 字段的完整描述,其中包括 'Z' for "complex"?

Where can I find a full description of the "format" field for NumPy objects that includes 'Z' for "complex"?

当我查看复杂双 NumPy 对象的“格式”字段时,我看到“Zd”:

>>> import numpy as np
>>> ac = np.array([[1,2]], dtype=complex)
>>> memoryview(ac).format
'Zd'

但是,我没有看到 official Python documentation for "struct" 中提到的“Z”,而且我也无法在 NumPy 文档中找到它,尽管可能我只是错过了它,因为我找不到想一想比术语“复杂”、“Z”和“格式”更有可能找到相关命中的任何东西,所有这些都会带来很多不相关的信息。谁能指出相关文档 and/or 给我他们自己的描述?

给定的输出表示从给定 Python 的 memoryview object

返回的 format 说明符

Zd 显然是 NumPy 的(标量)数据类型“complex double”np.cdouble.

的格式字符串

相关文档和见解

NumPy 的每个数据类型都将类似的文字定义为字符代码,参见documentation of dtype

A unique character code for each of the 21 different built-in types.

其中scalar data-types

  • 单个小写字符用于无符号整数和浮点数 个基元。

  • 一个大写字符用于有符号整数和复数浮点-点 个基元。

例如:

关键文档在 PEP 3118, section "Additions to the struct string-syntax" 中,特别是这一行:

'Z' complex (whatever the next specifier is)

感谢 Zev 帮我找到那个页面的路。

据我所知,NumPy 文档确实提到了指定真实数据类型的唯一字符代码(如 hc_dev 所述),但没有提到通常情况下派生的复杂数据类型以“Z”开头。