Python Numpy int64()函数参数?
不知道为什么我找不到这个,但下面的内容是什么意思Python Numpy int64()函数参数?,python,numpy,hash,byte,int64,Python,Numpy,Hash,Byte,Int64,不知道为什么我找不到这个,但下面的内容是什么意思 hashvalue_byte_size = len(bytes(np.int64(42).data)) 从左到右,我一般会说这描述了np.int64(42).data中的字节长度 所以字节长度是8 我认为'np.int64()'表示中的整数(-9223372036854775808到9223372036854775807)或(0到18446744073709551615)中的无符号整数 还是前缀“np”使int64()变成了其他东西 最后,“4
hashvalue_byte_size = len(bytes(np.int64(42).data))
从左到右,我一般会说这描述了np.int64(42).data中的字节长度
所以字节长度是8
我认为'np.int64()'表示中的整数(-9223372036854775808到9223372036854775807)或(0到18446744073709551615)中的无符号整数
还是前缀“np”使int64()变成了其他东西
最后,“42”代表什么?.data是什么意思?从内到外解析这样的表达式最有意义:
In [189]: np.int64(42)
Out[189]: 42
In [190]: type(_)
Out[190]: numpy.int64
In [191]: np.int64(42).data
Out[191]: <memory at 0x7f7dc41a82e8>
In [192]: type(_)
Out[192]: memoryview
In [193]: np.int64(42)
Out[193]: 42
In [194]: type(_)
Out[194]: numpy.int64
In [195]: np.int64(42).data
Out[195]: <memory at 0x7f7dcc05cac8>
In [196]: type(_)
Out[196]: memoryview
In [197]: bytes(np.int64(42).data)
Out[197]: b'*\x00\x00\x00\x00\x00\x00\x00'
In [198]: len(_)
Out[198]: 8
从内到外解析这样的表达式最有意义:
In [189]: np.int64(42)
Out[189]: 42
In [190]: type(_)
Out[190]: numpy.int64
In [191]: np.int64(42).data
Out[191]: <memory at 0x7f7dc41a82e8>
In [192]: type(_)
Out[192]: memoryview
In [193]: np.int64(42)
Out[193]: 42
In [194]: type(_)
Out[194]: numpy.int64
In [195]: np.int64(42).data
Out[195]: <memory at 0x7f7dcc05cac8>
In [196]: type(_)
Out[196]: memoryview
In [197]: bytes(np.int64(42).data)
Out[197]: b'*\x00\x00\x00\x00\x00\x00\x00'
In [198]: len(_)
Out[198]: 8
当你试图破译像这样的表达式时,你不应该从左到右,而是从内到外。如下所示,前两条语句定义了一个numpy.int64对象,该对象的值为42。这意味着42作为64位整数保存在内存中。下一个调用将为您提供对象的内存地址。之后,我想你得到了你的内存地址的内容,用一种我不知道的语言表达。最后一个简单地给出了在内存地址分配的字节数。这里是8,因为您已经为64位整数(1字节=8位)分配了空间
导入numpy
打印(numpy.int64(42))
# 42
打印(类型(numpy.int64(42)))
#
打印(numpy.int64(42.data)
#
打印(字节(numpy.int64(42.data))
#b'*\x00\x00\x00\x00\x00\x00\x00\x00'
打印(len(字节(numpy.int64(42.data)))
# 8
当你试图破译像这样的表达式时,你不应该从左到右,而是从内到外。如下所示,前两条语句定义了一个numpy.int64对象,该对象的值为42。这意味着42作为64位整数保存在内存中。下一个调用将为您提供对象的内存地址。之后,我想你得到了你的内存地址的内容,用一种我不知道的语言表达。最后一个简单地给出了在内存地址分配的字节数。这里是8,因为您已经为64位整数(1字节=8位)分配了空间
导入numpy
打印(numpy.int64(42))
# 42
打印(类型(numpy.int64(42)))
#
打印(numpy.int64(42.data)
#
打印(字节(numpy.int64(42.data))
#b'*\x00\x00\x00\x00\x00\x00\x00\x00'
打印(len(字节(numpy.int64(42.data)))
# 8
有关内置整数和numpy整数之间的差异,请参阅。有关内置整数和numpy整数之间的差异,请参阅。
In [209]: np.array([42,43]).tobytes()
Out[209]: b'*\x00\x00\x00\x00\x00\x00\x00+\x00\x00\x00\x00\x00\x00\x00'
import numpy
print(numpy.int64(42))
# 42
print(type(numpy.int64(42)))
# <class 'numpy.int64'>
print(numpy.int64(42).data)
# <memory at 0x7f5e43221588>
print(bytes(numpy.int64(42).data))
# b'*\x00\x00\x00\x00\x00\x00\x00'
print(len(bytes(numpy.int64(42).data)))
# 8