甲NumPy的标量是任何对象,它是一个实例
np.generic或其
type是
np.ScalarType:
In [12]: np.ScalarTypeOut[13]: (int, float, complex, long, bool, str, unipre, buffer, numpy.int16, numpy.float16, numpy.int8, numpy.uint64, numpy.complex192, numpy.void, numpy.uint32, numpy.complex128, numpy.unipre_, numpy.uint32, numpy.complex64, numpy.string_, numpy.uint16, numpy.timedelta64, numpy.bool_, numpy.uint8, numpy.datetime64, numpy.object_, numpy.int64, numpy.float96, numpy.int32, numpy.float64, numpy.int32, numpy.float32)
def isscalar(num): if isinstance(num, generic): return True else: return type(num) in ScalarType
请注意,您可以使用来测试某物是否为标量
np.isscalar:
>>> np.isscalar(3.1)True>>> np.isscalar([3.1])False>>> np.isscalar(False)True
我们怎么知道我们知道什么? 我喜欢学习人们如何知道他们所知道的知识,而不是回答自己。因此,让我尝试解释以上答案的来源。
拥有合适的工具可以帮助您自己解决诸如此类的问题。
我通过使用IPython发现了这一点。使用其TAB补全功能,键入
In [19]: import numpy as npIn [20]: np.[TAB]
使IPython在
np模块名称空间中显示所有变量。搜索字符串
"scalar"将使您进入
np.ScalarType和
np.isscalar。打字
In [20]: np.isscalar?
(注意最后的问号)提示IPython向您显示
np.isscalar定义的位置:
File: /data1/unutbu/.virtualenvs/dev/lib/python2.7/site-packages/numpy/core/numeric.py
这就是我对的定义的方式
isscalar。另外,numpy文档
isscalar也有指向源代码的链接。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)