问题标签 [python-internals]
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.
python - 查找内置 Python 函数的源代码?
有没有办法查看内置函数在 python 中是如何工作的?我的意思不仅仅是如何使用它们,还包括它们是如何构建的,排序或枚举背后的代码是什么......?
python - 为什么元组可以包含可变项?
如果元组是不可变的,那么为什么它可以包含可变项?
当一个可变项(如列表)被修改时,它所属的元组保持不可变,这似乎是一个矛盾。
python - 设置弹出(Python)
假设您有一组:
在我目前正在阅读的书 Pro Python 中,它说 usingfoo.pop()
将从该选择中弹出一个任意数字。但是……当我尝试它时,它pops 1, then 2, then 3...
是随意做的,还是这只是巧合?
python - Python:如何从变量中获取信息
好的,这可能是一个困难的问题。而且我不希望你为我做所有的辛苦工作。我只是想得到一些好的建议和我应该开始的地方。
我正在编写几个 python 程序,但调试这些程序时遇到了麻烦。所以我想创建一个简单的调试函数来记录一些事情。
这就是我使用它的方式:
我想在调试中显示此信息:
- 调用它的函数:some_random_function
- 定义该函数的文件名:random_function_definitios.py
- 行号:4
- 一些上下文:定义的全局变量和定义的局部变量。
我一直在看检查模块和框架内置对象。但我不完全确定我是否在正确的方向。
谢谢!
python - 无序 Python 集的“顺序”
我知道 Python 中的集合是无序的,但我对它们显示的“顺序”很好奇,因为它似乎是一致的。它们似乎每次都以相同的方式出现故障:
...还有另一个例子:
我只是好奇为什么会这样。有什么帮助吗?
python - 内置“in”运算符的 Python 源代码
in
我试图在 (C) Python 源代码中找到内置运算符的实现。我搜索了内置函数源代码bltinmodule.c,但找不到该运算符的实现。我在哪里可以找到这个实现?
我的目标是通过扩展此搜索的不同 C 实现来改进 Python 中的子字符串搜索,尽管我不确定 Python 是否已经使用了我的想法。
python - python中的合成函数
在 python 中,我可以创建一个没有类语句的类:
有没有办法创建一个没有'def'的函数?据我所知...
python - 为什么切片分配比`list.insert`更快?
受这个好答案的启发,
这是一个基准:
对我来说,test2
速度稍快(~10%)。为什么会这样?我希望它会慢一些,因为:
- 切片分配必须能够接受任何长度的迭代,因此必须更通用。
- 在切片分配中,我们需要在右侧创建一个新列表才能使其正常工作。
任何人都可以帮助我理解这一点吗?
(在 OS-X 10.5.8 上使用 python 2.7)
python - Python 3 中的 super() 是如何实现的?
我想知道 Python 3 中的新 super 是如何实现的。
这个问题是在我做了一个小例子之后出现在我脑海中的,我得到了一个奇怪的错误。我正在使用Pyutilib 组件架构 (PCA),并且我已经制作了我的自定义元类来驱动另一个类的创建:
我收到以下错误:
我想知道 super() 到底是做什么的,它会在super().__init__()
、self.__class__
、self.__class__.__class__
和全部PluginMeta.__class__
存在时引发错误。另外“旧方式” -Pass.__init__(self)
正在工作。
python - 在 Python 2.7 中跟踪期间来自 .egg 的文件的奇怪 co_filename
frame.f_code.co_filename
当通过 Python 2.7 解释器而不是eqauls 跟踪(使用 sys.settrace)python .egg 执行时,<path-to-egg>/<path-inside-egg>
类似于build/bdist.linux-x86_64/egg/<path-inside-egg>
它是一个错误吗?以及如何揭示真正的彩蛋路径?
在 Python 2.6 和 Python 3 中,一切都按预期工作。