python-3.x - cython id() 函数导致整数溢出
问题描述
我有一个更大的项目,它使用了一些 cython 生成的库。在某些时候,我使用该id()
函数来获取对象的地址。然后将该地址用作字典中的键。
这里是导致问题的 .pyx 文件的代码
@cython.cdivision(True)
def get_position(self, Xp_py):
cdef int ix = id(Xp_py)
cdef int i = self.search_position(Xp_py, ix)
该id()
函数导致以下错误:“OverflowError: value too large to convert to int”,这很奇怪,因为类型id()
是int
......
我尝试更改 to 的类型ix
并且long
它不会崩溃,但是以下函数的结果很奇怪。我希望有人可以对这种行为有所了解。
解决方案
推荐阅读
- java - 如何将项目文件夹与war生成的项目文件夹合并
- wordpress - 如何让 WordPress 网站在本地运行?
- r - 在 r 中创建一个数据框,该数据框增长 X 百分比,直到达到目标
- python - 我们可以指定散景导出的 png 文件大小/分辨率吗?
- css - 如何在 HTML/Angular 渲染后检查文本(字符串)的特定部分是否可见?
- javascript - 为什么按钮在这里不采用父级的全尺寸?
- javascript - 渲染从 Firebase Firestore 映射的 React 组件
- c++ - 为什么我需要为不同的图像类型提供不同的转储选项?
- python - 运行从 Python 传递变量的 R 脚本
- python - 如何使用 Jupyter 单元调用 python 命令行程序