python-internals 相关问题

Python如何在幕后工作?用于与(例如)所做出的设计决策以及所使用的内部数据结构和算法相关的问题。

为什么`PyCodeObject`中的`co_code_adaptive`会转换为`_PyCode_CODE`宏中的`uint16_t`指针?

我在探索 Python 3.11 源代码时遇到了 _PyCode_CODE 宏。我注意到在这个宏中,PyCodeObject 的 co_code_adaptive 成员被转换为 uint16_t* 指针。怎么...

回答 1 投票 0

type.__getattribute__ 和 object.__getattribute__ 有什么区别?

鉴于: 在[37]中:A类: ....:f = 1 ....: 在[38]中:B(A)类: ....: 经过 ....: 在[39]中: getattr(B, 'f') 输出[39]:1 好吧,要么调用 super 要么抓取 mro? 在[40]中:

回答 1 投票 0

list() 与 Python 3.5+ 中的可迭代解包

在支持后者的 Python 版本中,list(iterable) 和 [*iterable] 之间有什么实际区别吗?

回答 5 投票 0

在Python 3.12中,为什么'Öl'比'Ö'占用更少的内存?

我刚刚阅读了PEP 393,了解到Python的str类型根据内容使用不同的内部表示。所以,我做了一些实验,结果让我有点惊讶: >...

回答 1 投票 0

Python 生成器表达式递归

这是一个关于Python内部的问题。 以下代码摘自有关 python 惰性的视频: def nats(n): 产量 n nats(n + 1) 的收益率 定义筛: n = 下一个

回答 3 投票 0

为什么变量 1 += 变量 2 比变量 1 = 变量 1 + 变量 2 快得多?

我继承了一些Python代码,用于创建巨大的表(最多19列宽,5000行)。桌子花了九秒钟才绘制在屏幕上。我注意到每一行...

回答 1 投票 0

代码对象的 co_consts 属性中 None 做了什么?

以下函数返回 None: 在[5]中:def f(): ...: 经过 所以我对这个输出并不感到惊讶: 在[8]中:dis.dis(f) 2 0 LOAD_CONST 0(无) 3

回答 2 投票 0

来自 sys.getrefcount 的意外值

Python 2.7.5下 >>> 导入系统 >>> sys.getrefcount(10000) 3 三个重新计数在哪里? PS:当 10000 个 PyIntObject 将 Py_DECREF 为 0 ref 并释放时? 做...

回答 2 投票 0

创建一个对象 x,使得 `x in [x]` 返回 False

如果我们制作这样的病态土豆: >>> 马铃薯类: ... def __eq__(自己,其他): ...返回假 ... def __hash__(self): ... 返回 random.randint(1, 10...

回答 2 投票 0

有没有办法从代码字符串构造代码对象并将其分配给使用Python的现有函数?

我的问题是这样的:我需要更改函数的行为方式,但我无法访问或更改该函数所在的文件。我可以导入它,但我想更改

回答 1 投票 0

Python 中`copy.deepcopy()`的内部实现是什么以及如何正确重写`__deepcopy__()`?

当阅读 Antony Hatchkins 对“如何覆盖 Python 对象的复制/深复制操作?”的回答时,我很困惑为什么他的 __deepcopy()__ 实现不检查 m...

回答 1 投票 0

如何在Python中动态创建函数对象而不使用compile()、exec()或lambdas

我一直在尝试在Python中动态创建和更改函数。我研究过网络和 Stack Overflow,但我看到的大多数解决方案都使用以下其中一项,但我不想要: exec() 一个...

回答 1 投票 0

Python 中浮点数在内存中的存储[重复]

我知道Python维护一个小整数的内部存储,而不是在运行时创建它们: 编号(5) 4304101544 当在同一内核中重复此代码一段时间后,id 为

回答 2 投票 0

RESUME 操作码实际上有什么作用?

该文档的信息不是很丰富(至少对我来说): 操作码::RESUME(上下文) 无操作。执行内部跟踪、调试和优化 检查。 上下文操作数由两个部分组成...

回答 1 投票 0

是否可以使用堆栈帧获取当前(多行)语句的源代码?

我感兴趣的是能够使用这样的代码来获取 3 或 (3, 7) (包含当前语句的行),但是,f_lineno 返回 6,因为这是实际执行的地方...

回答 1 投票 0

Python 列表在哪里保存其值?

列表值位于类对象中的什么位置? 如果列表对象是Python中的类: >>> a = ['一', '二'] >>> 类型(a) 所以它存储在...

回答 3 投票 0

如何动态修改函数的签名

我正在用Python编写一个框架。当用户声明一个函数时,他们会: def foo(行, fetch=stuff, 查询=otherStuff) def bar(行,查询=东西) def bar2(行) 当后端看到query=va...

回答 2 投票 0

Python 字符串文字连接

我可以使用以下语法创建多行字符串: string = str("一些字符" “更多的字符”) 这将产生以下字符串: “一些字符一些更多的字符...

回答 1 投票 0

为什么“if x is None: pass”比单独的“x is None”更快?

Python 3.12 中的计时结果(与不同机器上的 3.11 和 3.13 类似): 当 x = 无时: 13.8 ns x 无 10.1 ns 如果 x 为 None:通过 当 x = True 时: 13.9 ns x 无 11.1 ns,如果 x 为

回答 1 投票 0

列表查找比元组更快?

过去,当我需要在紧密循环中进行类似数组的索引查找时,我通常使用元组,因为它们通常看起来性能非常好(接近于只使用 n 个变量)。

回答 3 投票 0

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