您能否帮助您理解本机int类型与numpy.int32或numpy.int64类型之间的主要区别(如果有)?
观察差异的另一种方法是询问两种对象有什么方法。
在Ipython中,我可以使用tab complete来查看方法:
In [1277]: x=123; y=np.int32(123)
int
方法和属性:
In [1278]: x.<tab>
x.bit_length x.denominator x.imag x.numerator x.to_bytes
x.conjugate x.from_bytes x.real
int
“经营者”
In [1278]: x.__<tab>
x.__abs__ x.__init__ x.__rlshift__
x.__add__ x.__int__ x.__rmod__
x.__and__ x.__invert__ x.__rmul__
x.__bool__ x.__le__ x.__ror__
...
x.__gt__ x.__reduce_ex__ x.__xor__
x.__hash__ x.__repr__
x.__index__ x.__rfloordiv__
np.int32
方法和属性(或属性)。一些相同,但更多的是,基本上所有ndarray
的:
In [1278]: y.<tab>
y.T y.denominator y.ndim y.size
y.all y.diagonal y.newbyteorder y.sort
y.any y.dtype y.nonzero y.squeeze
...
y.cumsum y.min y.setflags
y.data y.nbytes y.shape
该y.__
方法看起来很像int
的。他们可以做同样的数学。
In [1278]: y.__<tab>
y.__abs__ y.__getitem__ y.__reduce_ex__
y.__add__ y.__gt__ y.__repr__
...
y.__format__ y.__rand__ y.__subclasshook__
y.__ge__ y.__rdivmod__ y.__truediv__
y.__getattribute__ y.__reduce__ y.__xor__
y
在很多方面与0d数组相同。不相同,但接近。
In [1281]: z=np.array(123,dtype=np.int32)
np.int32
当我索引该类型的数组时得到的是:
In [1300]: A=np.array([0,123,3])
In [1301]: A[1]
Out[1301]: 123
In [1302]: type(A[1])
Out[1302]: numpy.int32
我必须使用item
删除所有numpy
包装。
In [1303]: type(A[1].item())
Out[1303]: int
作为numpy
用户,annp.int32
是int
带有numpy
包装的。或相反的单个元素ndarray
。通常,我不关心A[0]
是给我“本机”int
还是给我numpy等价物。与一些新用户相反,我很少使用np.int32(123)
;
我会np.array(123)
改用。
A = np.array([1,123,0], np.int32)
不包含3个np.int32
对象。而是其数据缓冲区为3 * 4 =
12字节长。正是数组开销将其在一维中解释为3个整数。并view
显示我不同的解释相同的DataBuffer:
In [1307]: A.view(np.int16)
Out[1307]: array([ 1, 0, 123, 0, 0, 0], dtype=int16)
In [1310]: A.view('S4')
Out[1310]: array([b'\x01', b'{', b''], dtype='|S4')
只有当我为单个元素建立索引时,我才能获得np.int32
对象。
列表L=[1, 123, 0]
不一样;它是一个指针列表-指向int
内存中其他对象的指针。类似地,对于dtype = object数组。
问题内容: 这是过去的考试问题,我想知道什么是原始类型和引用类型?对于数组,我知道引用类型是由对象或变量组成的数组,而原始类型是仅使用int或字符串创建数组的类型。(对?) 您认为您会如何回答测试中的问题并获得良好的信誉?如果没有真正直接引用原始的ARRAY类型,有没有办法做到这一点?还是您只用数组解释一下就可以了。 问题答案: 这些是Java中的原始类型: boolean byte short
问题内容: 它们有何不同?我有点困惑,因为它们似乎是相似的概念。 了解它们如何帮助优化编译时间? 问题答案: 从Swift自己的文档中: 类型安全 Swift是一种类型安全的语言。类型安全的语言鼓励您清楚代码可以使用的值的类型。 如果代码的一部分需要一个String,则不能错误地将其传递给Int。 类型推断 如果您 未 指定所需的值类型,则Swift会使用类型推断来得出适当的类型。通过类型推断,编
问题内容: 斯卡拉 在Scala中,哪里可以观察到类和类型之间的差异?为什么这种区别很重要? 在编程Scala时,它只是从语言设计的角度考虑还是具有“实际”影响? 或者是根本,以“固定边界”的类型系统(,来我的心)? 爪哇 在Java中还可以识别出上面提到的许多注意事项/差异/问题? (有关语言的介绍,请参见类型和类之间的区别?。) 问题答案: 当您说“类型”时,我将假设您主要是指静态类型。但是我
问题内容: Java具有泛型,而通过提供了非常强大的编程模型。那么,和Java泛型之间有什么区别? 问题答案: 它们之间有很大的区别。在C ++中,您不必为泛型类型指定类或接口。这就是为什么您可以创建真正的泛型函数和类,而不必担心键入错误。 上面的方法添加了两个相同类型的对象,并且可以用于具有“ +”运算符的任何类型T。 在Java中,如果要在传递的对象上调用方法,则必须指定一种类型,例如: 在C
问题内容: 我需要将 时间 和 日期 都存储在mysql中。所以我使用了函数。但是我不知道我应该为phpmyadmin 类型列 使用什么。应该注意的是,返回时间和日期都是这样的: 这是一个解决方案,我可以使用分隔符来分隔日期和时间(和),然后将它们分别存储在DATE类型和TIME类型中。或者,我可以使用VARCHAR类型将它们都存储在一列中。但是我认为这些方法不是标准的。存储日期和时间的标准类型是
你好打字专家们, 有人可以解释为什么下面的代码在第 16 行给我一个错误,而不是在第 13 行给我一个错误。这是预期功能还是缺少功能? 密码 游乐场链接