问题标签 [cpython]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
139 浏览

python - Python C 模块中的映射 - 有什么需要注意的陷阱吗?

我正在用 C 语言编写一个 Python 模块,我打算映射较大的内存块(可能是 500 MB)。在与 Python 解释器相同的进程空间中工作有什么需要注意的吗?

0 投票
2 回答
1283 浏览

python - Python 中是否有 _rational_ 区间算术的实现?

Python中有理区间算术 的实现吗?使用浮点数,而不是有理数。

如果没有,Python 中是否有任何包含 ±∞ 的有理数实现?

0 投票
4 回答
12454 浏览

python - 反正有没有清除python字节码缓存?

我正在运行的每个单元测试都将 python 代码写入文件,然后将其作为模块导入。问题是代码发生了变化,但进一步的导入语句不会修改模块。

我认为我需要一种强制重新加载模块或清除内部字节码缓存的方法。有任何想法吗?

谢谢!

0 投票
5 回答
407 浏览

python - 关于 python 函数/方法调用有什么静态的吗?

问一个关于反射的问题时,我问:

不错的答案。myobject.foo()但是说和是有区别的x = getattr(myobject, "foo"); x();。哪怕只是化妆品。首先, foo() 是静态编译的。在第二种情况下,可以通过多种方式生成字符串。– 乔 1 小时前

得到了答案:

呃,土豆/马铃薯……在python中,niether是静态编译的,所以它们或多或少是等价的。– SWeko 1 小时前

我知道 Python 对象的成员存储在字典中,并且一切都是动态的,但我假设给定以下代码:

以下代码会在生成 .pyc 时以某种方式静态编译:

即编译器知道 的地址m(),所以在运行时没有点绑定。那或运行时将缓存后续查找。

而这总是涉及到查字典:

是否所有调用都被视为字典中的字符串查找?还是这两个例子实际上是相同的?

0 投票
0 回答
139 浏览

python - 在 Windows 中使用 CPython 访问 MongoDB

我正在尝试使用 MongoDB 作为后端在 Python 中开发 Windows 下的应用程序。

我很确定我可以使用 IronPython 和 MongoDB 的 .net 驱动程序来做到这一点,但出于可移植性的目的,我更喜欢使用 CPython 解释器来做到这一点。

似乎 CPython 的唯一 MongoDB 驱动程序是 *nix-only。这个对吗?或者,有没有办法在 Windows 下使用它(或任何驱动程序)?

0 投票
5 回答
519 浏览

python - CPython中的字符串标识比较

我最近在生产系统中发现了一个潜在的错误,其中使用身份运算符比较了两个字符串,例如:

我想这无论如何都会经常工作,因为据我所知,CPython 将短的不可变字符串存储在同一位置。我已将其替换为!=,但我需要确认之前通过此代码的数据是正确的,所以我想知道这是否总是有效,或者它是否只是有时有效。

据我所知,Python版本一直是2.6.6,上面的代码似乎是唯一is使用操作符的地方。

有谁知道这条线是否总是按照程序员的意图工作?

编辑: 因为这无疑对未来的读者非常具体且无益,所以我会问一个不同的问题:

我应该在哪里寻找绝对确定的 Python 实现的行为?CPython 源代码中的优化是否易于理解?有小费吗?

0 投票
1 回答
190 浏览

python - 到底怎么回事...?来自 Python C 代码创建的文件的文件权限

如果我有以下 C 代码:

当我编译和运行时不会不合理地创建这个:

但是下面的 C 代码,编译成 Python 模块:

做这个:

毫不奇怪,创建文件的代码下一次无法打开它!

为什么要以零权限创建文件?为什么编译成 Python 模块的 C 中的行为会有所不同?我正在运行像我一样运行代码的python程序。

对于它的价值,我mmap稍后会使用该文件。

谢谢!

编辑:我知道我可以chmod解决这个问题,问题是为什么

编辑 2:感谢Rosh Oxymoron指出我错过了不那么可选的可选参数。TRWTF是第一个示例完全有效!

0 投票
1 回答
74 浏览

python - CPython中中间指令的格式是什么?

例如,0 STORE_NAME 0 (sys)是指令的一部分import sys。这种指令格式是否有任何文档?更何况,这种格式是 Python 的标准吗?还是具体实现?

0 投票
3 回答
453 浏览

python - Where is the __builtin__ module in CPython

I want to get the path and source code of the __builtin__ module, where can I get it?

0 投票
1 回答
237 浏览

python - 为什么 Python 中每个新对象的 refs 都会增加 2?

在定义新对象后,交互环境中的 refs 数量增加 2 对我来说有点奇怪。我只创建了一个对象,不是吗?