cpython 相关问题

Python编程语言的参考实现。将此标记用于特定于此实现的问题,一般Python问题应该用“python”标记。

如何通过使用Python C API的方法的TypeError测试

我使用 pytest 使用 python C API 测试我自己的 python 模块。 当无效类型的参数输入到 init 方法时,我试图检查 TypeError 是否正确发生。 一个方法实现...

回答 1 投票 0

C代码调用python代码如何准备环境?

#define PY_SSIZE_T_CLEAN #包括 整数 main(int argc, char *argv[]) { wchar_t *program = Py_DecodeLocale(argv[0], NULL); 如果(程序== NULL){ fprintf(标准错误,“

回答 0 投票 0

Python sys.getsizeof() 返回异常结果

我认为这是一个足够简单的问题: 那么,我的 Mac 上的一个 python int 是 28 个字节,而一个 unicode 字符是 50 个字节?整数应该是 4 个字节,字符应该是 2 个字节,对吧?也许这是天真的...

回答 0 投票 0

sys.getrefcount() 返回非常大的引用计数

在 CPython 3.11 中,以下代码为某些对象返回非常大的引用计数。它似乎遵循预缓存的对象,如整数 -5 到 256,但 CPython 3.10 没有: Python 3.11.2 (t...

回答 1 投票 0

在python3中是否均等存储在内存中?

众所周知,Python3 将所有字符串字符作为 Unicode 代码点。 类型('\x0d') 输入(b'\x0d') b'\x0d'的ascii为13,存放在内存中的f...

回答 2 投票 0

GIL 未锁定时在另一个线程中创建子解释器

有一个嵌入式 CPython 实现,它在没有 GIL 的情况下调用一个函数,这又会生成一个线程,并在该线程中调用一个我可以定义的函数。在接下来...

回答 0 投票 0

为什么 set subtraction 和 .difference() 以不同的速度运行

要找到两个集合之间的差异,可以使用 - 运算符和 .difference() 运算符。我正在使用此代码对每个代码进行计时: 导入时间 打印(时间。时间(''' a.差异({b}) ...

回答 1 投票 0

自定义类中的出列函数问题

我正在为我的模块构建一个 RingBuffer 类。但是,我在出队功能方面遇到了一些问题。当我对整数进行入队/出队时,一切都很好。当我排队列表时,第一个 deq ...

回答 1 投票 0

为什么getrefcount放在函数里面会加2?

考虑以下代码。 导入系统 一 = [1, 2, 3] 定义 foo(x): 打印(sys.getrefcount(x)) foo(a) # 打印出 4 —— 但为什么呢? 当我们调用 foo(a) 和 print(sys.getrefcount(x)) 执行时...

回答 1 投票 0

如何让 Cython 更快?

这是我的代码的一部分。我在 python 和 cython 中都试过了。 Cython 比 python 代码快 2 秒(仅当提到返回类型时。否则,它比 python 代码慢近 3.5 秒)在 t...

回答 0 投票 0

为什么以不同方式声明相同元素的元组会导致多个内存地址而不是一个?

我正在学习 python 中的内存管理。最近我正在探索可变对象和不可变对象的内存地址差异。起初我得出的结论是,同样的对象...

回答 1 投票 0

如何调试我的Python代码,检查数据是否能形成三角形?

这段代码的目的是寻找是否可以用给定的参数组成一个三角形。理论告诉我们,任意两条边之和应该大于第三条边和 ...

回答 1 投票 0

在Python的C语言扩展中使用Docstrings?

当创建一个C语言扩展到Python时,是否可以以某种方式编写注释,并将其作为docstrings暴露给扩展的用户?

回答 2 投票 18

Python中的可变变量和内存管理

我试图了解Python的内存管理是如何工作的。如果我有一个可变的变量,比如说一个列表:x = ['x1','x2'] print(id(x)),那么我将得到某个内存地址。如果我现在修改x...

回答 2 投票 0

如何扩展Python并制作C语言包?

前段时间我在C应用程序中嵌入并扩展了Python 2.7。后期我把它带到Python 3中,模块注册的很多初始化对我来说都发生了变化。之前我...

回答 1 投票 -1

在Python中,"0是0 "总是 "True "吗?

Python 3.8 (或CPython 3.8?) 增加了警告SyntaxWarning: "is "有一个字面意思。你的意思是"=="吗? 对于代码0是0,我理解这个警告,我知道is和==之间的区别......

回答 1 投票 6

在 Python 2.7 中,为什么用文本模式写字符串比用二进制模式写更快?

下面的示例脚本使用 "w",文本或 "wb",二进制模式将一些字符串写入文件: import itertools as it from string import ascii_lowercase import time characters = it.cycle(....

回答 1 投票 0

尽管tuple是不可变的,但在交互模式下,它们被存储在不同的地址中。为什么呢?

t = (1,2,3) t1 = (1,2,3) print(id(t)) print(id(t1)) 以上几行代码在python的脚本模式下给出了相同的地址,但在交互模式下却输出了不同的地址,谁能解释一下......

回答 1 投票 1

Python的代码对象的类型是什么?

有没有一种方法可以让我比较到由编译或__code__构造的代码对象的类型与实际的代码对象类型?这样做很好:>>> code_obj = compile("print('foo')", '

回答 1 投票 1

CPython源码中哪里实现了列表理解?

我知道cpythonobjectslistobject.c包含了python中List容器的实现,但是我不知道在哪里可以找到处理列表理解的源码。

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.